@CucumberOptions 中的路径将在 Idea 或 mvn verify 中工作,但不能同时在两者中工作

path in @CucumberOptions will work in Idea, or mvn verify, but not both

我在测试套件之前有以下声明:

@CucumberOptions(features = "src/test/resources/", plugin = {"pretty",
    "json:target/cucumber.json"})

如果我从 Idea 中 运行 文件,这有效,但是如果我从命令行 运行 mvn verify 它不起作用。

如果我把它改成

@CucumberOptions(features = "../src/test/resources/", plugin = {"pretty",
    "json:target/cucumber.json"})

...它适用于 mvn verify 但不适用于 Idea。我可以吃我的蛋糕吗?

你可以喝杯也可以吃。如果您有一个具有标准布局的 Maven 项目,并且所有 Cucumber 功能都在 src/test/resources、运行 中,则通过完全省略 features,测试应该在两者中都有效。

如果你的 Cucumber 功能实际上在非标准位置,比如在父 Maven 项目中,你可以让你的命令行使用 ../src/test/resources,并更改你的工作目录 Run/Debug configuration 到任何正确解析相对路径的目录。您可以针对特定配置或默认配置更改它,这样它将对通过右键单击自动生成的任何配置生效。

或者,你应该也可以使用src/test/resources并设置maven-surefire-pluginworking directory,但最好让IDE向命令弯曲-行,反之亦然。