我有一个maven项目,它使用JUnit runner运行黄瓜测试。我可以从命令行使用以下语法来运行测试:
mvn -Dcucumber.options="--tags @Sanity" test
从控制台运行时,此功能完全正常。现在我正在尝试在IntelliJ IDEA中设置Maven runner配置来做同样的事情 - 我无法让它工作。根据{{3}},我需要\ -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:
initializationError(com.mycompany.mypackage.MyRunner):未知选项:--tags @Sanity
我尝试了各种引用/转义/双重转义/双引号等。 - 无济于事。
同样,从命令行运行maven工作正常 - 我特别感兴趣的是将其设置为IntelliJ IDEA中的运行器配置。
答案 0 :(得分:1)
你需要转义空格字符:mvn“-Dcucumber.options = - tags \ @Sanity”test