Error Handling

Error Handling During Startup

If any child fixtures raise an error during startup, the following occurs:

  1. All fixtures that have not yet been started (due to Internal Child Dependencies) are cancelled.

  2. All fixtures whose startup has already started are allowed to continue their startup, if their startup raises an error, that error is added to the list of errors raised.

  3. All fixtures whose startup has completed without errors are then torn down. If a tear down raises an error, that error is added to the list of errors raised.

  4. An error is raised with the list of errors raised, failing whatever test called the parent fixture.

Error Handling During Teardown

If any child fixtures raise an error during teardown, all the other teardowns are still run, and the error or errors are re-raised, failing the teardown of whatever test called the parent fixture.