Bhu*_*ani 1 teamcity continuous-integration cucumber continuous-deployment
我们有一个CICD流程,其中定义的TC集合始终用于门控流程.有时它不需要运行所有测试,而是我们只想根据开发人员所做的更改来触发一组TC.我们的测试是基于黄瓜的用户故事,因此我们可以通过标签控制测试运行.我的想法是从teamcity的maven命令行参数字段中参数化cucumber.options,并让Dev/support人员根据需要定义标记.
如果我提到命令行参数为
-Dcucumber.options="--tags %env.test.scope%"
Run Code Online (Sandbox Code Playgroud)
我的mavenized项目得到的值为cucumber.options = "--tags @Sanity(假设env.test.scope值为@Sanity).如果你在这里仔细注意,我为什么要打开双引号?它破坏了我的TestRunner并且没有触发任何测试.如果我删除双引号,然后我得到mvn错误,因为@Sanity不被识别为有效目标(因为--tags和@之间的空间问题)如何定义我的参数(cucumber.options)值与空间?
这似乎与JVM(运行Maven)和-D比TeamCity更相关.传递参数的正确方法是"-Dcucumber.options = - tags%env.test.scope%",因为它应作为JVM的单个参数获取,然后用" - "解析为"cucumber.options"参数-tags%env.test.scope%"value.
| 归档时间: |
|
| 查看次数: |
354 次 |
| 最近记录: |