Spectator::Harness
Inherits Reference < Object
Helper class that acts as a gateway between example code and the test framework.
Every example must be invoked by passing it to #run.
This sets up the harness so that the example code can use it.
The test framework does the following:
result = Harness.run(example)
# Do something with the result.
Then from the example code, the harness can be accessed via #current like so:
harness = ::Spectator::Harness.current
# Do something with the harness.
Of course, the end-user shouldn't see this or work directly with the harness. Instead, methods the user calls can access it. For instance, an expectation reporting a result.
Constructors
Class methods
Wraps an example with a harness and runs the example.
The #current harness will be set
prior to running the example, and reset after.
The example argument will be the example to run.
The result returned from Example#run will be returned.
Instance methods
Generates the reported expectations from the example. This should be run after the example has finished.
Reports the outcome of an expectation. An exception will be raised when a failing result is given.