@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-plugin
的working directory,但最好让IDE向命令弯曲-行,反之亦然。
我在测试套件之前有以下声明:
@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-plugin
的working directory,但最好让IDE向命令弯曲-行,反之亦然。