/// <summary> /// Perform top-level analysis and produce standard reports /// </summary> public void DoReport() { if (!Directory.Exists(outputDirectory)) { Directory.CreateDirectory(outputDirectory); } string title = string.Format("{0} Test Results", Path.GetFileNameWithoutExtension(testResultPath)); indexPage = new HtmlPage(Path.Combine(outputDirectory, "index.html")); indexPage.Begin(title); try { resultLoader.Load(testResultPath); } catch (ApplicationException ex) { indexPage.WriteLine(ex.Message); throw; } catch (Exception ex) { indexPage.WriteLine(ex.ToString()); throw; } InitializeProjectIndex(); testCount = 0; notRunCount = 0; failureCount = 0; foreach (TestResult suiteResult in resultLoader.ProjectResults) { string projectName = Path.GetFileNameWithoutExtension(suiteResult.Name); Console.WriteLine("Analyzing {0}", projectName); TestResultAnalyzer analyzer = new TestResultAnalyzer(projectName); analyzer.FindFixtures(suiteResult); analyzer.Analyze(); testCount += analyzer.TestCount; notRunCount += analyzer.NotRunCount; failureCount += analyzer.FailureCount; WriteIndexEntry(analyzer); WriteDetailPage(analyzer); } TerminateProjectIndex(); indexPage.End(); Console.WriteLine("Analysis Complete"); Console.WriteLine("Report created in directory {0}", Path.GetFullPath(outputDirectory)); }
/// <summary> /// Perform top-level analysis and produce standard reports /// </summary> public void DoReport() { if( !Directory.Exists( outputDirectory ) ) Directory.CreateDirectory( outputDirectory ); string title = string.Format( "{0} Test Results", Path.GetFileNameWithoutExtension( testResultPath ) ); indexPage = new HtmlPage( Path.Combine( outputDirectory, "index.html" ) ); indexPage.Begin( title ); try { resultLoader.Load( testResultPath ); } catch ( ApplicationException ex ) { indexPage.WriteLine( ex.Message ); throw; } catch ( Exception ex ) { indexPage.WriteLine( ex.ToString() ); throw; } InitializeProjectIndex(); testCount = 0; notRunCount = 0; failureCount = 0; foreach( TestResult suiteResult in resultLoader.ProjectResults ) { string projectName = Path.GetFileNameWithoutExtension( suiteResult.Name ); Console.WriteLine( "Analyzing {0}", projectName ); TestResultAnalyzer analyzer = new TestResultAnalyzer( projectName ); analyzer.FindFixtures( suiteResult ); analyzer.Analyze(); testCount += analyzer.TestCount; notRunCount += analyzer.NotRunCount; failureCount += analyzer.FailureCount; WriteIndexEntry( analyzer ); WriteDetailPage( analyzer ); } TerminateProjectIndex(); indexPage.End(); Console.WriteLine( "Analysis Complete" ); Console.WriteLine( "Report created in directory {0}", Path.GetFullPath( outputDirectory ) ); }
private void WriteDetailTable(HtmlPage page, TestResultAnalyzer analyzer) { StringBuilder sbFailures = new StringBuilder(); StringBuilder sbNotRun = new StringBuilder(); page.Begin(analyzer.Name); page.BeginTable("class=center"); page.BeginRow("hdr-row"); page.WriteHeaderCell("Class", "name"); page.WriteHeaderCell("Tests"); page.WriteHeaderCell("Not Run"); page.WriteHeaderCell("Failures"); page.EndRow(); foreach (TestResultAnalyzer classAnalyzer in analyzer.Children) { if (classAnalyzer.FailureCount > 0) { page.BeginRow("failure-row"); } else if (classAnalyzer.NotRunCount > 0) { page.BeginRow("notrun-row"); } else { page.BeginRow(); } page.WriteCell(classAnalyzer.Name, "name"); page.WriteCell(classAnalyzer.TestCount); page.WriteCell(classAnalyzer.NotRunCount); page.WriteCell(classAnalyzer.FailureCount); page.EndRow(); } page.BeginRow("total-row"); page.WriteCell("Total", "name"); page.WriteCell(analyzer.TestCount); page.WriteCell(analyzer.NotRunCount); page.WriteCell(analyzer.FailureCount); page.EndRow(); page.EndTable(); }
private void WriteDetailTable( HtmlPage page, TestResultAnalyzer analyzer ) { StringBuilder sbFailures = new StringBuilder(); StringBuilder sbNotRun = new StringBuilder(); page.Begin( analyzer.Name ); page.BeginTable( "class=center" ); page.BeginRow( "hdr-row" ); page.WriteHeaderCell( "Class", "name" ); page.WriteHeaderCell( "Tests" ); page.WriteHeaderCell( "Not Run" ); page.WriteHeaderCell( "Failures" ); page.EndRow(); foreach( TestResultAnalyzer classAnalyzer in analyzer.Children ) { if ( classAnalyzer.FailureCount > 0 ) page.BeginRow( "failure-row" ); else if ( classAnalyzer.NotRunCount > 0 ) page.BeginRow( "notrun-row" ); else page.BeginRow(); page.WriteCell( classAnalyzer.Name, "name" ); page.WriteCell( classAnalyzer.TestCount ); page.WriteCell( classAnalyzer.NotRunCount ); page.WriteCell( classAnalyzer.FailureCount ); page.EndRow(); } page.BeginRow( "total-row" ); page.WriteCell( "Total", "name" ); page.WriteCell( analyzer.TestCount ); page.WriteCell( analyzer.NotRunCount ); page.WriteCell( analyzer.FailureCount ); page.EndRow(); page.EndTable(); }