public TestRunState Run(ITestListener testListener, Func<Runner, AssemblyResult> run) { var listener = new TestDrivenListener(testListener); var runner = new Runner(listener); var result = run(runner); if (result.Total == 0) return TestRunState.NoTests; if (result.Failed > 0) return TestRunState.Failure; return TestRunState.Success; }
public void ShouldProduceValidXmlDocument() { var listener = new StubListener(); var runner = new Runner(listener); var executionResult = new ExecutionResult(); var convention = SelfTestConvention.Build(); convention.CaseExecution.Skip(x => x.Method.Has<SkipAttribute>(), x => x.Method.GetCustomAttribute<SkipAttribute>().Reason); convention.Parameters.Add<InputAttributeParameterSource>(); var assemblyResult = runner.RunTypes(GetType().Assembly, convention, typeof(PassFailTestClass)); executionResult.Add(assemblyResult); var report = new XUnitXmlReport(); var actual = report.Transform(executionResult); XsdValidate(actual); CleanBrittleValues(actual.ToString(SaveOptions.DisableFormatting)).ShouldEqual(ExpectedReport); }