public void ThrowsAfter(Type feature, ITestResultMessage[] results) { "Given a scenario with a throw after attribute" .f(() => feature = typeof(ScenarioWithThrowAfterAttribute)); "When I run the scenario" .f(() => results = this.Run<ITestResultMessage>(feature)); #if V2 "Then there is a single test failure" .f(() => results.Should().ContainSingle(result => result is ITestFailed)); #else "Then there are three test failures" .f(() => results.OfType<ITestFailed>().Count().Should().Be(3)); #endif }
public void FailureToCompleteAStep(Type feature, ITestResultMessage[] results) { "Given a failing step with three teardowns" .f(() => feature = typeof(FailingStepWithThreeTeardowns)); "When running the scenario" .f(() => results = this.Run<ITestResultMessage>(feature)); "Then there should be one failure" .f(() => results.OfType<ITestFailed>().Count().Should().Be(1)); "And the teardowns should be executed in reverse order after the step" .f(() => typeof(TeardownFeature).GetTestEvents() .Should().Equal("step1", "teardown3", "teardown2", "teardown1")); }
public void FailingSteps(Type feature, ITestResultMessage[] results) { "Given two steps with teardowns and a failing step" .f(() => feature = typeof(TwoStepsWithTeardownsAndAFailingStep)); "When running the scenario" .f(() => results = this.Run<ITestResultMessage>(feature)); "Then there should be one failure" .f(() => results.OfType<ITestFailed>().Count().Should().Be(1)); "And the teardowns should be executed after each step" .f(() => typeof(TeardownFeature).GetTestEvents() .Should().Equal("step1", "step2", "step3", "teardown2", "teardown1")); }
public void FailingSteps(Type feature, ITestResultMessage[] results) { "Given {0}" .f(() => { }); "When running the scenario" .f(() => results = this.Run<ITestResultMessage>(feature)); "Then there should be one failure" .f(() => results.OfType<ITestFailed>().Count().Should().Be(1)); "And the disposables should be disposed in reverse order" .f(() => typeof(ObjectDisposalFeature).GetTestEvents() .Should().Equal("disposed3", "disposed2", "disposed1")); }