gpt4 book ai didi

continuous-integration - Maven 命令行参数中的 TeamCity 双引号问题

转载 作者:行者123 更新时间:2023-12-02 08:07:42 30 4
gpt4 key购买 nike

我们有一个 CICD 流程,其中定义的一组 TC 总是为门控流程执行。有时不需要运行所有测试,相反我们只想根据开发人员所做的更改触发一组 TC。我们的测试是基于 cucumber 的用户故事,因此我们可以通过标签控制测试运行。我的想法是从 teamcity 的 maven 命令行参数字段参数化 cucumber.options 并让开发人员/支持人员根据需要定义标签。

如果我提到命令行参数为

-Dcucumber.options="--tags %env.test.scope%"

我的 mavenized 项目获得的值为 cucumber.options = "--tags @Sanity(假设 env.test.scope 值为@Sanity)。如果你仔细注意这里,为什么我得到打开双引号?它破坏了我的 TestRunner 并且没有触发任何测试。如果我删除双引号,那么我会收到 mvn 错误,因为 @Sanity 不被识别为有效目标(因为 --tags 和 @ 之间的空格问题)如何用空格定义我的参数 (cucumber.options) 值?

最佳答案

与 TeamCity 相比,这似乎与 JVM(运行 Maven)和 -D 更相关。传递参数的正确方法是“-Dcucumber.options=--tags %env.test.scope%”,因为它应该作为 JVM 的单个参数获取,然后使用“--tags %env.test.scope%”解析为“cucumber.options”参数"值。

关于continuous-integration - Maven 命令行参数中的 TeamCity 双引号问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50070122/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com