首页 > 解决方案 > 空手道 - 在生成有关 jenkins 的报告时,它也在考虑来自测试数据文件夹的 json 文件。为什么它在那里表现不同?

问题描述

结果,黄瓜报告插件无法生成正确的报告,因为它还包含来自测试数据文件夹的 json 文件

我的主要跑步者课程代码。还附上了我的文件夹结构的图片。

类示例测试{

// this will run all *.feature files that exist in sub-directories
// see https://github.com/intuit/karate#naming-conventions

@Karate.Test
Karate testAll() {
    return Karate.run().relativeTo(getClass());
}

@Test
void testruninParallel() {
   Results results = Runner.parallel(getClass(), 1, "target/surefire-reports");
//        Results results = Runner.path("classpath:examples").tags("~@ignore").parallel(2);
        ExamplesTest.generateReport(results.getReportDir());
        if (results.getFailCount()!=0){
            System.out.println( results.getErrorMessages());
    }
}

private static void generateReport(String reportDir) {
    Collection<File> jsonFiles = FileUtils.listFiles(new File(reportDir), new String[]{"json"}, true);
    List<String> jsonPaths = new ArrayList(jsonFiles.size());
    jsonFiles.forEach(file -> jsonPaths.add(file.`enter code here`getAbsolutePath()));
    Configuration config = new Configuration(new File("target"), "demo");
    ReportBuilder reportBuilder = new ReportBuilder(jsonPaths, config);
    reportBuilder.generateReports();
}

}

在此处输入图像描述

标签: karate

解决方案


也许你的 Jenkins 正在放入一些额外的 JSON 文件target/surefire-reports——你必须解决这个问题。如果需要,您可以尝试修改逻辑generateReport以忽略某些文件。


推荐阅读