Status changes
The next major version adds two statuses and changes how unreached steps are reported.
What changed
- New scenarios and steps start as
Status.NotRun, which is alsodefault(Status). - Running scenarios and steps are
Status.Pending. Before-step hooks seePending. - Steps after a failure stay
NotRun. Previously they wereInconclusive. - Whole-scenario skips still mark steps
Skipped. - Retries reset the scenario and its steps to
NotRunbefore retry hooks run. Inconclusivenow only means that a registered inconclusive exception occurred.
What to update
- Replace checks that used
Inconclusiveto detect unreached steps withNotRun. - Update status
switchstatements and report consumers to handleNotRunandPending. - HTML and report server pages show "Not run" and "Pending" separately from inconclusive results.
GetOrder() now ranks statuses as Failed, NotImplemented, Inconclusive, Skipped, NotRun, Pending, Passed. In mixed report summaries, passes still override skips, while unfinished results take precedence over passes.
Stored values
The numeric enum values changed. Store status names, not integers.
- BDTest writes statuses as names, including in run summaries.
- Its readers keep historical named statuses, including ambiguous
Inconclusiveresults. - Legacy integers
0–4are read asPassed,Failed,Inconclusive,NotImplementedandSkipped. Integer tokens are always interpreted with this legacy mapping; never write the new numeric values to JSON.
See Statuses for the current model.