Skip to main content

Statuses

Steps, scenarios, outline rows and whole test runs all use BDTest.Contracts.Status.

StatusMeaning
NotRunNot executed. This is the default value. New steps start here, and steps after a failure stay here.
PendingCurrently running. Before-step hooks see this status.
PassedCompleted successfully, or a registered success exception was thrown.
FailedAn exception was thrown, a timeout expired, or execution was cancelled.
InconclusiveA registered inconclusive exception was thrown.
NotImplementedA NotImplementedException was thrown.
SkippedIntentionally not executed: a skip rule, a skip exception or a debug skip.

Scenario status​

SituationScenario status
Every step passedPassed
Some steps intentionally skipped, the rest passedPassed
Every step skipped, or a global skip-test rule matchedSkipped
A step threwThe status of the exception
RetryingReset to NotRun before retry hooks run

Ranking​

status.GetOrder() ranks statuses from most to least severe:

  1. Failed
  2. NotImplemented
  3. Inconclusive
  4. Skipped
  5. NotRun
  6. Pending
  7. Passed

Report summaries use this ranking to pick an overall status. Passes override skips in mixed summaries, while unfinished results (NotRun, Pending) take precedence over passes.

Storing statuses​

Statuses are serialized as names, for example "Passed". Store names rather than integers: the numeric values changed in the latest major version. See Status changes.