public static CaseBehaviorBuilder SetUpTearDown <TSetUpAttribute, TTearDownAttribute>(this CaseBehaviorBuilder builder) where TSetUpAttribute : Attribute where TTearDownAttribute : Attribute { return(builder.SetUpTearDown((caseExecution, instance) => InvokeAll <TSetUpAttribute>(caseExecution.Case.Class, instance), (caseExecution, instance) => InvokeAll <TTearDownAttribute>(caseExecution.Case.Class, instance))); }
public void ShouldShortCircuitSetupAndInnerBehaviorAndTearDownWhenCaseAlreadyHasExceptionsPriorToSetup() { builder.SetUpTearDown(SetUp, TearDown); using (var console = new RedirectedConsole()) { var @case = Case("Pass"); var exception = new Exception("Exception from earlier in the behavior chain."); @case.Exceptions.Add(exception); builder.Behavior.Execute(@case, instance); @case.Exceptions.ToArray().Single().ShouldEqual(exception); console.Lines.ShouldEqual(); } }
public static CaseBehaviorBuilder SetUpTearDown(this CaseBehaviorBuilder builder, string setUpMethod, string tearDownMethod) { return builder.SetUpTearDown((@case, instance) => TryInvoke(setUpMethod, @case.Class, instance), (@case, instance) => TryInvoke(tearDownMethod, @case.Class, instance)); }
public static CaseBehaviorBuilder SetUpTearDown(this CaseBehaviorBuilder builder, string setUpMethod, string tearDownMethod) { return(builder.SetUpTearDown((caseExecution, instance) => TryInvoke(setUpMethod, caseExecution.Case.Class, instance), (caseExecution, instance) => TryInvoke(tearDownMethod, caseExecution.Case.Class, instance))); }