public void TestAddResult() { var sut = new ResultSummary(); Assert.Empty(sut.Results); Assert.Equal(TimeSpan.Zero, sut.ExecutionTime); Assert.Equal(0, sut.Failed); Assert.Equal(0, sut.Skipped); Assert.Equal(0, sut.Total); var result = new Result("abc.dll"); result.SetExecutionCompleteInfo(new Xunit.Runners.ExecutionCompleteInfo(10, 5, 2, 1.5M)); sut.AddResult(result); #if NET35 Assert.Equal(1, sut.Results.Count); #else Assert.Single(sut.Results); #endif Assert.Equal(new TimeSpan(0, 0, 0, 1, 500), sut.ExecutionTime); Assert.Equal(10, sut.Total); Assert.Equal(5, sut.Failed); Assert.Equal(2, sut.Skipped); result = new Result("abc.dll"); result.SetExecutionCompleteInfo(new Xunit.Runners.ExecutionCompleteInfo(15, 8, 3, 3.512M)); sut.AddResult(result); #if NET35 Assert.Equal(1, sut.Results.Count); #else Assert.Single(sut.Results); #endif Assert.Equal(new TimeSpan(0, 0, 0, 3, 512), sut.ExecutionTime); Assert.Equal(15, sut.Total); Assert.Equal(8, sut.Failed); Assert.Equal(3, sut.Skipped); result = new Result("xyz.dll"); result.SetExecutionCompleteInfo(new Xunit.Runners.ExecutionCompleteInfo(3, 1, 2, 1M)); sut.AddResult(result); Assert.Equal(2, sut.Results.Count); Assert.Equal(new TimeSpan(0, 0, 0, 4, 512), sut.ExecutionTime); Assert.Equal(18, sut.Total); Assert.Equal(9, sut.Failed); Assert.Equal(5, sut.Skipped); }
public void OneTimeSetUp() { string testResultsFile = Path.Combine(TestContext.CurrentContext.TestDirectory, "MockTestResult.xml"); using (var reader = new StreamReader(testResultsFile)) _testResults = XDocument.Load(reader); _testRun = _testResults.Element("test-run"); _testSuites = _testRun.Elements("test-suite"); _summary = new ResultSummary(); foreach (var element in _testSuites) { _summary.AddResult(element); } _summaryResults = _summary.GetTestResults(); _summaryTestRun = _summaryResults.Element("test-run"); }
public void OneTimeSetUp() { string testDirectory = Path.GetDirectoryName(typeof(ResultSummaryTests).GetTypeInfo().Assembly.Location); string testResultsFile = Path.Combine(testDirectory, "MockTestResult.xml"); using (var stream = new FileStream(testResultsFile, FileMode.Open)) using (var reader = new StreamReader(stream)) _testResults = XDocument.Load(reader); _testRun = _testResults.Element("test-run"); _testSuites = _testRun.Elements("test-suite"); _summary = new ResultSummary(); foreach (var element in _testSuites) { _summary.AddResult(element); } _summaryResults = _summary.GetTestResults(); _summaryTestRun = _summaryResults.Element("test-run"); }
int Execute() { DisplayRuntimeEnvironment(); DisplayTestFiles(); IEnumerable <string> testList = SetupSinks(); IDictionary <string, object> settings = GetTestSettings(); // We display the filters at this point so that any exception message // thrown by CreateTestFilter will be understandable. DisplayTestFilters(); // Apply filters and merge with testList var filter = CreateTestFilter(testList); var summary = new ResultSummary(); // Load the test framework foreach (var assembly in _options.InputFiles) { // TODO: Load async var assemblyPath = System.IO.Path.GetFullPath(assembly); var testAssembly = LoadAssembly(assemblyPath); var frameworkPath = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(assemblyPath), "nunit.framework.dll"); var framework = LoadAssembly(frameworkPath); var driver = new NUnitPortableDriver(); var result = driver.Load(framework, testAssembly, settings); // TODO: Run async // Explore or Run if (_options.List || _options.Explore) { ITestListener listener = new TestExploreListener(_testDiscoverySink, _options, assemblyPath); string xml = driver.Explore(filter.Text); listener.OnTestEvent(xml); summary.AddResult(xml); } else { var tcListener = new TeamCityEventListener(); TestExecutionListener listener = new TestExecutionListener(_testExecutionSink, _options, assemblyPath); SetupLabelOutput(listener); string xml = driver.Run( report => { listener.OnTestEvent(report); if (_options.TeamCity) { tcListener.OnTestEvent(report); } }, filter.Text); summary.AddResult(xml); } } if (_options.List || _options.Explore) { if (_options.DesignTime) { _testDiscoverySink.SendTestCompleted(); } return(ReturnCodes.OK); } if (_options.DesignTime) { _testExecutionSink.SendTestCompleted(); return(ReturnCodes.OK); } // Summarize and save test results var reporter = new ResultReporter(summary, ColorConsole, _options); reporter.ReportResults(); // Save out the TestResult.xml SaveTestResults(reporter.TestResults); if (summary.UnexpectedError) { return(ReturnCodes.UNEXPECTED_ERROR); } if (summary.InvalidAssemblies > 0) { return(ReturnCodes.INVALID_ASSEMBLY); } if (summary.InvalidTestFixtures > 0) { return(ReturnCodes.INVALID_TEST_FIXTURE); } // Return the number of test failures return(summary.FailedCount); }