首页 > 解决方案 > 从 IntelliJ 运行 Maven 黄瓜测试

问题描述

我有一个 maven 项目,它使用 JUnit runner 运行黄瓜测试。我可以从命令行使用以下语法来运行测试:

mvn -Dcucumber.options="--tags @Sanity" test

从控制台运行时,这工作得很好。现在我正在尝试在 IntelliJ IDEA 中设置 Maven 运行器配置来做同样的事情 - 我只是无法让它工作。根据IntelliJ 文档,我需要 \-escape 双引号 - 所以在命令行中我指定-Dcucumber.options=\'--tags @Sanity\' test

Maven 已执行 - 但会产生以下错误消息:

Unknown lifecycle phase "@Sanity""

似乎该参数在传递给 Maven 之前未转义。然后我尝试将整个内容放在引号中,将参数指定为'-Dcucumber.options=\"--tags @Sanity\"' test. 这会导致以下错误:

Unknown lifecycle phase "'-Dcucumber.options="--tags"

再说一次,我想,有些东西与引用/转义有关。然后我尝试了这些选项:"-Dcucumber.options='--tags @Sanity'" test- 这次 maven 经历了编译阶段,似乎尝试运行测试 - 但随后失败并出现以下错误:

Tests in error: 

初始化错误(com.mycompany.mypackage.MyRunner):未知选项:--tags @Sanity

我尝试了各种引用/转义/双转义/双引号/等。- 无济于事。

同样,从命令行运行 maven 工作正常 - 我特别感兴趣的是在 IntelliJ IDEA 中将其设置为运行器配置。

标签: mavenintellij-ideacucumbercucumber-junit

解决方案


您需要转义空格字符: mvn "-Dcucumber.options=--tags\ @Sanity" test


推荐阅读