我最近从 0.9.6 升级到 1.0.0 版本,并注意到生成的karate-summary.html文件与 0.9.6 不同,它不会显示 JUnit 5 Runner 中所有测试的功能文件。
它显示的只是最后测试的功能文件。
下面的屏幕截图来自提供的SampleTest.java示例代码(为简单起见,不包括其他测试)。
package karate;
import com.intuit.karate.junit5.Karate;
class SampleTest {
@Karate.Test
Karate testSample() {
return Karate.run("sample").relativeTo(getClass());
}
@Karate.Test
Karate testTags() {
return Karate.run("tags").relativeTo(getClass());
}
}
Run Code Online (Sandbox Code Playgroud)
但是,在 1.0.0 中运行以下测试时,所有功能都正确显示在摘要中。
@Karate.Test
Karate testAll() {
return Karate.run().relativeTo(getClass());
}
Run Code Online (Sandbox Code Playgroud)
有人愿意确认他们是否得到了类似的结果吗?我们将非常感激。
它显示的只是最后测试的功能文件。
这是因为每次运行 JUnit方法时,都会默认备份 reports 目录。查找其他名为的目录target/karate-reports-<timestamp>,您可能会在那里找到您的报告。因此,可能发生的情况是您有多个 JUnit 测试都在运行,因此您会看到此行为。您可以通过调用.backupReportDir(false)构建器上的方法来覆盖此行为。但我认为它可能仍然不起作用 - 因为 JUnit 运行程序已经发生了一些变化。它被设计为当您处于本地/开发模式时一次运行一种方法。
所以 JUnit 运行器只是一种方便。您应该使用Runner类/构建器进行 CI 执行,并且当您想要运行多个测试并在一份报告中查看它们时:https ://stackoverflow.com/a/65578167/143475
这是一个例子:ExamplesTest.java
但如果 JUnit 运行器中出现错误(很有可能),请按照流程帮助项目开发人员复制并修复问题以尽快发布。
编辑 - 对于那些寻找有关如何“合并”报告的提示的人,请参阅此问题的答案:How to rerun failed features in karate?
| 归档时间: |
|
| 查看次数: |
5210 次 |
| 最近记录: |