当我尝试通过Maven(surefire)一起使用Cucumber和Junit时,报告的测试数量错误。我只有250次测试,但Jenkins给我看了1200次测试。因此,当我调查它时,我发现只有一个引用是surefire插件的问题。
https://github.com/cucumber/cucumber-jvm/issues/322
如何纠正?
答案 0 :(得分:1)
我只能用万无一失创造黑客。如果你愿意,你可以使用:
Maven中的示例更改:
<plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>change-bad-cucumber-test-file</id>
<!-- here the phase you need -->
<phase>prepare-package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/surefire-reports-fixed</outputDirectory>
<resources>
<resource>
<directory>${basedir}/target/cucumber</directory>
</resource>
<resource>
<directory>${basedir}/target/surefire-reports</directory>
<excludes>
<exclude>**/*CucumberTest.*</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
CucumberTest.java中的更改:
@RunWith(Cucumber.class)
@Cucumber.Options(format = { "pretty", "junit:target/cucumber/TEST-packageHereToClass.CucumberTest.xml", "json:target/cucumber.json" })
public class CucumberTest {
...
}
在jenkins中将surefire文件夹设置为(2)'surefire-reports-fixed'
答案 1 :(得分:0)
以下链接似乎是相关的。
讨论作为测试计算的步骤定义的核心问题:
https://github.com/cucumber/cucumber-jvm/issues/577
单独的问题,在评论中讨论了将计数步骤作为测试更改为计算方案作为junit测试的修正将即将发布,但与Gherkin 3开发工作有关:
答案 2 :(得分:0)
以下内容为我服务- 我在@cucumbeOptions中添加了黄瓜-junit报告格式,即-“ junit:target / surefire-reports / TEST-TestSuite.xml” ,然后在eclipse中运行此命令(也在VSO中), Junit报告是在 TEST-TestSuite.xml 文件中生成的,且计数正确。
下面的代码->
@CucumberOptions(
features= {"src/test/resources/Features"},
plugin = {"pretty:STDOUT","html:Reports/cucumber-pretty","junit:target/surefire-reports/TEST-TestSuite.xml", "com.cucumber.listener.ExtentCucumberFormatter:Reports/Reporting/Quixxi_Report.html"},
monochrome = true,
dryRun=false
)