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

标签 java maven intellij-idea cucumber

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

@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 并设置 working directory的 maven-surefire-plugin ,但最好让 IDE 向命令行倾斜,而不是相反。

关于java - @CucumberOptions 中的路径将在 Idea 或 mvn verify 中工作,但不能同时工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35183732/

相关文章:

java - 使用 Java 进行加宽和装箱

Eclipse 在构建期间从部署路径中删除文件/文件夹

java - 无法访问 org.springframework.context.ConfigurableApplicationContext 类文件

java - 错误:java package xxx does not exist despite IDEA being aware of them

java - Dropwizard 将答案序列化为 json 时出现异常

java的打字系统: prefer interface types to class types as method parameters/return values

java - 如何在cmd中使用jar编译执行java?

maven - 核心 Maven 插件是否与 Maven 本身处于相同的发布周期?

spring - Spring MVC错误404错误请求Kotlin

java - 在没有 Android 的情况下使用 Dagger2