空手道摘要报告在升级到 1.0.0 后未显示所有经过测试的功能

Karate summary reports not showing all tested features after upgrade to 1.0.0

我最近从 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());
    }

}

这是来自版本 0.9.6。

而这个来自1.0.0版本

然而,当运行下面的测试在 1.0.0 中时,所有功能都正确显示在摘要中。

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

是否有人愿意确认他们是否得到了相似的结果?将不胜感激。

What it displays instead was the last tested feature file only.

这是因为每次您运行一个JUnit 方法,默认情况下都会备份报告目录。查找名为 target/karate-reports-<timestamp> 的其他目录,您可能会在那里找到您的报告。所以可能发生的情况是您有多个 JUnit 测试都是 运行ning,所以您会看到这种行为。您可以通过在构建器上调用方法 .backupReportDir(false) 来覆盖此行为。但我认为它可能仍然无法正常工作——因为 JUnit 运行ner 发生了一些变化。当您处于本地/开发模式时,它被设计为一次运行一个方法

所以 JUnit 运行ner 只是一个方便。您应该使用 Runner class / 构建器来执行 CI,当您想要 运行 多个测试并在一份报告中查看它们时:

这里有一个例子:ExamplesTest.java

但万一JUnit 运行ner有bug(很有可能)请按照流程帮助项目开发者复现修复问题尽快发布。