无法在空手道框架中生成报告

时间:2020-02-23 17:57:30

标签: java karate cucumber-jvm

在使用空手道框架生成报告时遇到了问题。我已经提到了链接 https://github.com/intuit/karate/blob/master/karate-demo/src/test/java/demo/DemoTestParallel.java https://github.com/intuit/karate#parallel-execution https://github.com/intuit/karate/tree/master/karate-demo#example-report 确实与给定的结果相同,但是在生成报告时仍然遇到问题。 请找到以下项目详细信息。 POM.xml

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UseHttpsRedirection();
            //.... rest of configuration
        }
 public void ConfigureServices(IServiceCollection services)
        {
            //...
            services.AddHttpsRedirection(options =>
            {
                options.RedirectStatusCode = StatusCodes.Status307TemporaryRedirect;
                options.HttpsPort = 5000;
            });
            //...
      }

测试运行器

<dependencies>
        <dependency>
            <groupId>com.intuit.karate</groupId>
            <artifactId>karate-apache</artifactId>
            <version>0.9.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.intuit.karate</groupId>
            <artifactId>karate-junit4</artifactId>
            <version>0.9.5</version>
            <scope>test</scope>
        </dependency>
         <dependency>
            <groupId>net.masterthought</groupId>
            <artifactId>cucumber-reporting</artifactId>
            <version>5.1.1</version>
            <scope>test</scope>
        </dependency> 
    </dependencies>

项目文件夹设置 enter image description here

功能文件

public class TestRunner {

    @Test
    public void testParallel() {
        Results results = Runner.path("classpath:testapis").tags("@test").parallel(5);
        generateReport(results.getReportDir());
        assertTrue(results.getErrorMessages(), results.getFailCount() == 0);        
    }

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

}

我只是以@test Feature: Title of your feature I want to use this template for my feature file Scenario: Title of your scenario * url "https://jsonplaceholder.typicode.com" Given path "todos/1" When method GET Then status 200

身份执行

并在控制台中获得以下错误消息

mvn clean test

执行了0个功能,但是按照我给出的说明进行操作。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

如果执行了0个测试,这是正常现象,那么第三方黄瓜报告库将抛出此错误。

您的pom.xml似乎没有正确设置资源:https://github.com/intuit/karate#folder-structure

如果您仍然遇到问题,请执行以下过程:https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue