public TestRunState RunMember(ITestListener testListener, Assembly assembly, MemberInfo member) { var method = member as MethodInfo; if (method != null) { if (method.IsDispose()) { var listener = new TestDrivenListener(testListener); listener.CaseSkipped(new SkipResult(new Case(method), "Dispose() is not a test.")); return TestRunState.Success; } return Run(testListener, runner => runner.RunMethods(assembly, method)); } var type = member as Type; if (type != null) { var types = GetTypeAndNestedTypes(type).ToArray(); return Run(testListener, runner => runner.RunTypes(assembly, types)); } return TestRunState.Error; }
public TestRunState RunMember(ITestListener testListener, Assembly assembly, MemberInfo member) { var method = member as MethodInfo; if (method != null) { if (method.IsDispose()) { var listener = new TestDrivenListener(testListener); listener.CaseSkipped(new SkipResult(new Case(method), "Dispose() is not a test.")); return(TestRunState.Success); } return(Run(testListener, runner => runner.RunMethods(assembly, method))); } var type = member as Type; if (type != null) { var types = GetTypeAndNestedTypes(type).ToArray(); return(Run(testListener, runner => runner.RunTypes(assembly, types))); } return(TestRunState.Error); }
public void ShouldReportResultsToTestDrivenDotNet() { var testDriven = new StubTestListener(); using (var console = new RedirectedConsole()) { var listener = new TestDrivenListener(testDriven); var convention = SelfTestConvention.Build(); convention.CaseExecution.Skip(x => x.Method.Has<SkipAttribute>(), x => x.Method.GetCustomAttribute<SkipAttribute>().Reason); convention.Parameters.Add<InputAttributeParameterSource>(); typeof(PassFailTestClass).Run(listener, convention); var testClass = typeof(PassFailTestClass).FullName; console.Lines() .ShouldEqual( "Console.Out: Fail", "Console.Error: Fail", "Console.Out: Pass", "Console.Error: Pass"); var results = testDriven.TestResults; results.Count.ShouldEqual(4); foreach (var result in results) { result.FixtureType.ShouldEqual(null); result.Method.ShouldEqual(null); result.TimeSpan.ShouldEqual(TimeSpan.Zero); result.TotalTests.ShouldEqual(0); result.TestRunnerName.ShouldBeNull(); } results[0].Name.ShouldEqual(testClass + ".SkipWithReason"); results[0].State.ShouldEqual(TestState.Ignored); results[0].Message.ShouldEqual("Skipped with reason."); results[0].StackTrace.ShouldBeNull(); results[1].Name.ShouldEqual(testClass + ".SkipWithoutReason"); results[1].State.ShouldEqual(TestState.Ignored); results[1].Message.ShouldBeNull(); results[1].StackTrace.ShouldBeNull(); results[2].Name.ShouldEqual(testClass + ".Fail"); results[2].State.ShouldEqual(TestState.Failed); results[2].Message.ShouldEqual("Fixie.Tests.FailureException"); results[2].StackTrace.Lines().Select(CleanBrittleValues).ShouldEqual( "'Fail' failed!", " at Fixie.Tests.TestDriven.TestDrivenListenerTests.PassFailTestClass.Fail() in " + PathToThisFile() + ":line #"); results[3].Name.ShouldEqual(testClass + ".Pass(123)"); results[3].State.ShouldEqual(TestState.Passed); results[3].Message.ShouldBeNull(); results[3].StackTrace.ShouldBeNull(); } }
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 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); }
static TestRunState Run(ITestListener testListener, Func <Runner, ExecutionSummary> run) { var listener = new TestDrivenListener(testListener); var bus = new Bus(listener); var runner = new Runner(bus); var summary = run(runner); if (summary.Total == 0) { return(TestRunState.NoTests); } if (summary.Failed > 0) { return(TestRunState.Failure); } return(TestRunState.Success); }