TB2::SubtestStart - Start of a subtest event
This is a TB2::Event representing the start of a subtest.
A subtest is a set of code and events which has a state separate from the main test. The intent is to provide a clean slate to perform tests in small chunks. This could be a block of tests in a larger file, or the tests of a single method.
A subtest has its own history, plan and set of results.
Receiving this event indicates that a subtest is about to start,
all events from here to TB2::SubtestEnd belong to the subtest.
Most event handlers will not have to be concerned about this,
the TestState will call
subtest_handler on each event handler to get a new one to handle the subtest.
Information about the subtest can be communicated back to the parent handler via information contained in the TB2::SubtestEnd.
It has all the methods and attributes of TB2::Event with the following differences and additions.
How deeply nested this subtest is. The first subtest will have a depth of 1. A subtest inside that subtest will have a depth of 2 and so on.
It has no default. The depth is typically set by "post_event" in TB2::TestState and need not be set by the creator of the event. Only set it if you wish to override the normal depth.
The name of this subtest.
Any directives which were in effect when the subtest started.
These should be applied to the result of the subtest.
Usually used for todo blocks.
The reason for any directives.
The event type is
TB2::Event This does the Event role.
TB2::SubtestEnd The cooresponding event which ends the subtest.
"subtest_handler" in TB2::EventHandler The method called on each Handler when a subtest starts.