我想 运行 每个 .feature 文件作为使用空手道的单个 TestNG 测试?

I want to run each .feature file as single TestNG test using Karate?

我想 运行 每个 .feature 文件作为使用空手道的单个 TestNG 测试,我该怎么做?

我们正在使用空手道来自动化 REST API。我们有自定义监听器,它将每个 TestNG 测试的状态和其他信息记录到 postgress 数据库。

您是否尝试过使用 Karate TestNG 支持?该文档详细说明了如何使用:https://github.com/intuit/karate#running-with-testng

作为空手道的开发者,我强烈建议团队不要使用 TestNG。我的建议是您使用新的 'hooks' 功能直接从 Karate 调用您的自定义 Java 代码,您将不依赖于 TestNG 甚至 JUnit。

如果您还需要运行 的自定义方式,TestNG 支持实际上是单个class:KarateRunner.java。我真的不知道它是否将每个功能作为 TestNG 测试运行,因为我不是 TestNG 专家。但是您应该能够创建自己的 Java 代码版本来执行您想要的操作,并可能将其贡献回项目。

另一种方式 运行 通过标签:

@CucumberOptions(tags = { "@getVersion" })
public class GetVersionTest extends KarateRunner {

}

专题文件:

@getVersion
Feature: Testing Rest API with Karate and Java

  Scenario: 
    Given url 'https://......'
    When method get
    Then status 200
    And match response contains '{version= x.xx.x}'