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



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

@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 向命令行弯曲,反之亦然。

最新更新