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

问题描述 投票:0回答:1

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

有人愿意确认一下他们是否得到了类似的结果吗?我们将非常感激。

karate
1个回答
5
投票

它显示的只是最后测试的功能文件。

这是因为每次运行 JUnit 方法时,默认情况下都会备份 reports 目录。查找其他名为

target/karate-reports-<timestamp>
的目录,您可能会在那里找到您的报告。因此,可能发生的情况是您有多个 JUnit 测试都在运行,因此您会看到此行为。您可以通过调用构建器上的方法:
.backupReportDir(false)
来覆盖此行为。但我认为它可能仍然不起作用 - 因为 JUnit 运行程序已经发生了一些变化。当您处于本地/开发模式时,它被设计为一次运行一个方法

所以 JUnit 运行器只是一种方便。您应该使用

Runner
类/构建器进行 CI 执行,并且当您想要运行多个测试并在一份报告中查看它们时:https://stackoverflow.com/a/65578167/143475

这是一个例子:

ExamplesTest.java

但如果 JUnit 运行器出现错误(很有可能),请按照流程帮助项目开发人员复制并修复问题并尽快发布。

编辑 - 对于那些寻找有关如何“合并”报告的提示的人,请参阅此问题的答案:如何重新运行空手道中失败的功能?

© www.soinside.com 2019 - 2024. All rights reserved.