maven - 从 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 中将其设置为运行器配置。
解决方案
您需要转义空格字符: mvn "-Dcucumber.options=--tags\ @Sanity" test
推荐阅读
- reporting-services - SSRS 服务不可用 HTTP 503
- sharepoint - 将 SharePoint 2013 WSP(Web 部件)迁移到 SharePoint 2019(本地)
- sass - 带有 mixins 和函数的 Sass 可重用关键帧
- php - 需要在一段时间日期时间的第一天和最后一天
- javascript - v-if 过滤器问题和组件在彼此下方呈现
- odoo - Odoo 8:从另一个模块调用 do_enter_transfer 方法(质量控制)
- php - 获取我发布帖子的主页
- reactjs - react-redux 中出现意外的保留字“yield”
- gradle - 为什么 org.powermock:powermock-api-mockito:1.7.4 依赖于两个版本的 mockito-core?
- javascript - 将 e.timeStamp 转换为当前日期/时间?