protected override void SetTestSemantics(PatternTest test, IMethodInfo method) { base.SetTestSemantics(test, method); test.TestInstanceActions.ExecuteTestInstanceChain.Around( delegate(PatternTestInstanceState state, Action <PatternTestInstanceState> action) { Specify.ThrownBy(delegate { action(state); }).ShouldBeNull(); bool failed = false; foreach (ISpecificationConstraint constraint in Specify.GetConstraints()) { SpecificationResult result = constraint.Evaluate(); if (!result.Success) { failed = true; using (Log.BeginSection(constraint.Description)) { Log.Failures.WriteLine(result.Message); if (result.StackTrace != null) { Log.Failures.WriteLine(result.StackTrace); } } } } if (failed) { throw new SilentTestException(TestOutcome.Failed); } }); }
/// <inheritdoc /> protected override PatternTest CreateTest(PatternEvaluationScope containingScope, IMethodInfo method) { PatternTest test = base.CreateTest(containingScope, method); test.Name = NameSanitizer.MakeNameFromIdentifier(test.Name); test.Kind = NBehaveTestKinds.Specification; return(test); }
/// <inheritdoc /> protected override PatternTest CreateTest(PatternEvaluationScope constainingScope, ITypeInfo type) { PatternTest test = base.CreateTest(constainingScope, type); test.Name = NameSanitizer.MakeNameFromIdentifier(test.Name); test.Kind = NBehaveTestKinds.Concern; return(test); }
private static void SetParallelizableRecursively(PatternTest parent) { foreach (PatternTest child in parent.Children) { child.IsParallelizable = true; SetParallelizableRecursively(child); } }