我在测试套件之前有以下声明:
@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。我可以吃我的蛋糕吗?
你也可以吃你的cukes。 如果你有一个具有标准布局的Maven项目,并且你的所有Cucumber功能都在src/test/resources
,则运行测试应该可以通过完全省略features
来同时工作。
如果您实际上将 Cucumber 功能放在非标准位置,例如在父 Maven 项目中,则可以保持命令行与 ../src/test/resources
一起使用,并将 Run/Debug 配置的工作目录更改为正确解析相对路径的任何目录。 您可以针对特定配置或默认配置更改它,以便它对通过右键单击自动生成的任何配置生效。
或者,您还应该能够使用 src/test/resources
并设置maven-surefire-plugin
的工作目录,但最好让 IDE 向命令行弯曲,反之亦然。