/// <summary> /// Generate HTML report files from the test runs database. /// </summary> /// <param name="testRunDatabase">Test runs database.</param> public void Generate(TestRunsDatabase testRunDatabase) { // copy the CSS file to the reports directory string cssFileFullPath = settings.CssFileName; if (false == Path.IsPathRooted(cssFileFullPath)) { cssFileFullPath = Path.Combine(settings.TemplatesDirectory, cssFileFullPath); } string cssCopiedPath = Path.Combine(settings.OutputDirectory, Path.GetFileName(cssFileFullPath)); // make sure the path exists AccipioHelper.EnsureDirectoryPathExists(cssCopiedPath, true); File.Copy(cssFileFullPath, cssCopiedPath, true); FileVersionInfo version = System.Diagnostics.FileVersionInfo.GetVersionInfo( System.Reflection.Assembly.GetExecutingAssembly().Location); string accipioVersion = version.FileVersion; string testCasesHistoryGraphFileName = "TestCasesHistoyGraph.png"; string userStoriesHistoryGraphFileName = "UserStoriesHistoyGraph.png"; Hashtable context = new Hashtable(); context.Add("db", testRunDatabase); context.Add("accipioVersion", accipioVersion); context.Add("testCasesGraphFileName", testCasesHistoryGraphFileName); context.Add("userStoriesGraphFileName", userStoriesHistoryGraphFileName); GenerateReportFile( "TestRunsHistory.htm", "TestRunsHistory.vm.htm", context); foreach (TestRun testRun in testRunDatabase.TestRuns) { context["testRun"] = testRun; GenerateReportFile( @"TestRuns/$testRun.FileName", "TestRunReport.vm.htm", context); } foreach (ITestReportGraphDataGenerator generator in graphDataGenerators) { TestReportGraphData graphData = generator.GenerateData(testRunDatabase); graphGenerator.GenerateGraph(graphData, settings); } }
public TestReportGraphData GenerateData(TestRunsDatabase testRunsDatabase) { TestReportGraphData graphData = new TestReportGraphData("user stories", "UserStoriesHistoyGraph.png"); graphData.AddSeries("successful", "#75FF47"); graphData.AddSeries("failed", "#FF6B90"); graphData.AddSeries("not implemented", "#FFFCA8"); foreach (TestRun testRun in testRunsDatabase.TestRuns) { graphData.AddDataValue("successful", testRun.UserStoriesSuccess); graphData.AddDataValue("failed", testRun.UserStoriesFail); graphData.AddDataValue("not implemented", testRun.UserStoriesNotImplemented); } return(graphData); }
public void Test() { HtmlTestReportGeneratorSettings settings = new HtmlTestReportGeneratorSettings("Test project"); TestReportGraphData graphData = new TestReportGraphData("test graph", "TestGraph2.png"); graphData.AddSeries("successful", "#75FF47"); graphData.AddSeries("failed", "#FF6B90"); graphData.AddSeries("not implemented", "#FFFCA8"); Random rnd = new Random(); for (int i = 0; i < 100; i++) { graphData.AddDataValue("successful", rnd.Next(100)); graphData.AddDataValue("failed", rnd.Next(20)); graphData.AddDataValue("not implemented", rnd.Next(5)); } ITestReportGraphGenerator graphGenerator = new DefaultTestReportGraphGenerator(); graphGenerator.GenerateGraph(graphData, settings); }