当前位置: 首页 > 知识库问答 >
问题:

空手道总结报告在升级到1.1.0后未显示所有测试功能

农波涛
2023-03-14

我最近从0.9.6升级到了1.0.0版本,并注意到在生成的karate-summary.html文件中,它不像0.9.6中那样显示JUnit5运行器中所有测试过的特性文件。

它只显示上次测试的特性文件。

下面的屏幕截图来自所提供的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());
    }

}

但是,当在1.0.0中运行下面的测试时,所有的特性都正确地显示在摘要中。

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

有没有人愿意确认一下他们是否得到了类似的结果?不胜感激。

共有1个答案

督建柏
2023-03-14

它只显示上次测试的特性文件。

这是因为每次运行JUnit方法时,默认情况下都会备份reports目录。查找其他名为target/karate-reports- 的目录,您可能会在那里找到您的报告。所以可能正在发生的是,您有多个JUnit测试都在运行,所以您看到了这个行为。您可以通过调用生成器上的.backupreportdir(false)方法来覆盖此行为。但我认为它可能仍然不能工作--因为JUnit运行程序已经有了一点点改变。它被设计为在local/dev-mode下一次运行一个方法。

所以JUnit运行器只是一种方便。您应该使用runner类/builder来执行配置项,当您想要运行多个测试并在一个报告中看到它们时:https://stackoverflow.com/A/65578167/143475

下面是一个示例:examplestest.java

但是,如果JUnit runner中有一个bug(这是很有可能的),请遵循这个过程,帮助项目开发人员复制,然后修复问题,以便尽快发布。

 类似资料:
  • 我不得不错误地运行maven-clean命令,并清理目标报告文件夹。现在,如果我构建并运行我的功能文件,就会出现以下错误。我如何解决这个问题? 顺便说一句,我使用的是空手道版本0.9.0(尽管它可能并不依赖于此) 此外,如果导致以下问题,我该如何清理报告文件夹?

  • 我跟随空手道文档并将Junit HTML报告复制粘贴到浏览器中。然而,输出是纯文本的,看起来与视频中描述的完全不一样。我尝试了两个不同的浏览器,Firefox57.0.2和Chrome62.0,都给出了相同的输出。输出附于此。 注意:我按照文档中的说明使用@RunWith(karate.class)将.feature文件作为Junit测试运行。下面是Runner类的示例代码。 导入org.juni

  • 任何帮助都将非常感谢! 谢里奥

  • Visual Studio代码1.43。0空手道独立罐0.9。5.RC5 在VScode编辑器中,在打开的空手道。功能文件中,代码“运行空手道测试”不再显示,如屏幕截图所示。因此,不可能调试特定的场景。对此有什么想法吗?多谢了。

  • 我尝试在我的应用程序模块中的代码的AndroidKotlin应用程序的声纳Qube中显示测试覆盖范围。我可以生成雅各的覆盖结果并显示声纳Qube分度仪,但问题是测试覆盖范围未显示在声纳Qube中: https://imgur.com/a/xOjxLl1 在我的项目的build.gradle中,我有: 在我的身体里。我的应用程序模块的gradle 我生成我的Jacoco报告: 并使用:生成我的son

  • 我正在使用空手道9.0。0并并行运行功能文件,并使用空手道并行运行代码生成cucumber报告。问题在于,在功能概述中的报告中,它将总执行时间显示为 特征1执行时间特征2执行时间特征3执行时间=总执行时间 但是,如果在多个线程中并行运行特性,则实际执行时间会更短。如何显示和计算测试套件的运行时间。