为了账号安全,请及时绑定邮箱和手机立即绑定

Java/黄瓜报告不使用 masterthought 生成报告

Java/黄瓜报告不使用 masterthought 生成报告

米脂 2022-06-30 10:46:30
我一直在尝试整合 masterthought maven--cucumber-reporting,这样我就可以像宣传的那样制作关于 Jenkins 的漂亮报告。我遵循了各个站点中的配置说明,包括 damienfremont.com 帖子,但我的实施没有产生任何报告。StackOverflow 上的类似帖子没有提供答案。CucumberTestRunner.java@RunWith(Cucumber.class)@CucumberOptions(  glue = "xxx.yyy.zzz.cucumber",  features = "src/test/resources/features",  snippets = SnippetType.CAMELCASE,  tags = {"@aaa", "@bbb"},  plugin = {"json:target/cucumber.json", "html:target/site/cucumber-pretty"}  )public class CucumberTestRunner {}pom.xml  <dependency>    <groupId>io.cucumber</groupId>    <artifactId>cucumber-java</artifactId>    <version>4.2.0</version>  </dependency>  <dependency>    <groupId>io.cucumber</groupId>    <artifactId>cucumber-junit</artifactId>    <version>4.2.0</version>  </dependency>  <dependency>    <groupId>net.masterthought</groupId>    <artifactId>cucumber-reporting</artifactId>    <version>4.4.0</version>  </dependency>  Other dependencies - Spring, database, logging, etc<dependencies><build>  <plugins>    <plugin>      <groupId>org.apache.maven.plugins</groupId>      <artifactId>maven-compiler-plugin</artifactId>      <version>3.7.0</version>      <configuration>        <source>1.8</source>        <target>1.8</target>      </configuration>    </plugin>    <plugin>      <groupId>org.codehaus.mojo</groupId>      <artifactId>exec-maven-plugin</artifactId>      <version>1.5.0</version>            <executions>        <execution>          <phase>integration-test</phase>          <goals>结果:从 intelliJ 运行 CucumberTestRunner.java 会创建 target/cucumber.json 和 target/site/cucumber-pretty/index.html 等运行mvn verify -Dcucumber.options="--tags @aaa --tags @bbb"创建target/cucumber.html/index.html等(在 pom 中指定)因此,正在生成本机的万无一失的报告,但我没有得到 masterthought 的输出。当我mvn build通过 Jenkins运行并cucumber-reports.hfi安装插件时,我得到"net.masterthought.cucumber.ValidationException: Nonereport了文件已添加!”这是有道理的,因为 mvn 作业没有生成报告。密码我查看了其他 StackOverflow 问题,但看不出我的代码有什么问题。非常感谢任何帮助。
查看完整描述

2 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

我也遇到了同样的错误。然后我使用下面的代码而不是使用pom.xml net.masterthought插件。它工作并生成了报告。但是,我使用的是 TestNG。因此,您必须检查它是否适用于使用@After Annotation.


    @AfterSuite

    public void generateReport() {

    File reportOutputDirectory = new File("target"); //

    List<String> jsonFiles = new ArrayList<String>();

    jsonFiles.add("target/cucumber.json");

    String projectName = "Your Sample Project Name";

    String buildNumber = "1.0";


    Configuration configuration = new Configuration(reportOutputDirectory, 

    projectName);


    configuration.setRunWithJenkins(true);

    configuration.setBuildNumber(buildNumber);


    ReportBuilder reportBuilder = new ReportBuilder(jsonFiles, configuration);

    reportBuilder.generateReports();

}


查看完整回答
反对 回复 2022-06-30
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

问题排序:在pom.xml, 中exec-maven-plugin,我需要插件参数json:${project.build.directory}/somewhere/for/reports

蓬松的 Jenkins 报告需要 json 文件。还需要确保 Jenkins Cucumber 报告配置中指定的目录与 pom.xml 文件中指定的目录一致。

不需要net.masterthought plugin.


查看完整回答
反对 回复 2022-06-30
  • 2 回答
  • 0 关注
  • 133 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信