我不想为每个环境使用特定的runsettings文件,但我想使用环境变量以便在配置我们的其他部署版本时保持一致.
但是,当我想向单元测试转发包含分号(;)的连接字符串(或任何参数)时,我将遇到问题.它被截断了.我测试过没有“;”传输其他值成功.
settings.runsettings
<?xml version="1.0" encoding="utf-8"?> <RunSettings> <TestRunParameters> <Parameter name="CRM_CONNECTIONSTRING" value="Url = https://MYCRM.crm4.dynamics.com; [email protected]; Password=mypassword;" /> <TestRunParameters> </RunSettings>
但是,当执行(并显示单元测试中收到的实际值)时,该值在第一个“;”之后被截断.
有没有办法保护价值?
解决方法
问题出现在官方的任务 – 任务github:https://github.com/Microsoft/vsts-tasks/issues/2567
解决方法:在测试程序集任务之前,运行一个powershell脚本,将runsettings文件的路径作为参数,读取VSTS环境变量并在runsettings中替换direcly XML值.
我在这里提供了我的powershell脚本:https://github.com/camous/vsts-powershell/blob/master/Set-RunSettings.ps1
(参数必须以“__”为前缀)
我在这里写了一个更完整的“如何”:https://stuffandtacos.azurewebsites.net/2016/09/28/override-runsettings-parameters-in-visual-studio-team-service-when-value-contains-semi-colons/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。