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