class

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

current

Retrieves the harness for the current running example.

Source

Class methods

current?

Retrieves the harness for the current running example.

Source
run(example : Example) : Result

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.

Source

Instance methods

defer

Marks a block of code to run later.

Source
example

Retrieves the current running example.

Source
expectations

Generates the reported expectations from the example. This should be run after the example has finished.

Source
group

Retrieves the group for the current running example.

Source
mocks
Source
report_expectation(expectation : Expectations::Expectation) : Nil

Reports the outcome of an expectation. An exception will be raised when a failing result is given.

Source
run_deferred

Runs all deferred blocks.

Source