Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 3
0
        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);
        }