Exemplo n.º 1
0
        private async Task GenerateReport(TestProjectReportModel testResult, Settings settings)
        {
            if (string.IsNullOrEmpty(settings.ReportPath))
            {
                settings.ReportPath = Directory.GetCurrentDirectory();
            }

            var mprm = new MutationProjectReportModel();

            mprm.TestProjects.Add(testResult);

            var reporter    = ReportFactory(settings.ReportType);
            var reportBytes = await reporter.CreateReportAsync(mprm);

            var reportFileName = DateTime.Now.ToString("yy-MM-dd-H-mm") + reporter.FileExtension;

            await File.WriteAllBytesAsync(Path.Combine(_outputDirectory, reportFileName), reportBytes);
        }
Exemplo n.º 2
0
        private async Task <string> Template(MutationProjectReportModel model)
        {
            var currentAssembly = Assembly.GetExecutingAssembly();
            var resourceName    = currentAssembly
                                  .GetManifestResourceNames()
                                  .Single(str => str.EndsWith("HTML.cshtml"));

            using var streamReader = new StreamReader(currentAssembly.GetManifestResourceStream(resourceName));
            var template = await streamReader.ReadToEndAsync();

            var engine = new RazorLightEngineBuilder()
                         // required to have a default RazorLightProject type,
                         // but not required to create a template from string.
                         .UseEmbeddedResourcesProject(typeof(HtmlReporter))
                         .UseMemoryCachingProvider()
                         .Build();

            var result = await engine.CompileRenderStringAsync("templateKey", template, model);

            return(result);
        }
Exemplo n.º 3
0
 public async Task <byte[]> CreateReportAsync(MutationProjectReportModel mutationRun)
 {
     return(Encoding.UTF8.GetBytes(await Template(mutationRun)));
 }