visual-studio - 在基于 VSTest 的 C++ 测试中读取运行时参数
问题描述
当 C++ 单元测试在 vstest.console.exe 下运行或作为 Azure DevOps 构建管道中的 VSTest 任务运行时,如何读取传递给 C++ 单元测试的运行时参数?
我正在尝试读取在 .runsettings 文件中设置或通过 overrideTestrunParameters 传递的运行时参数,但无法找到执行此操作的方法。
看起来 TestContext 仅适用于基于 C# 的测试,不适用于非托管 C++ 单元测试。
解决方案
我正在尝试读取 .runsettings 文件中设置的运行时参数
在 Azure Devops 中,您可以直接使用PowerShell 任务读取 .runsettings 文件中的运行时参数:
这是一个例子:
测试运行设置
<!-- Parameters used by tests at runtime -->
<TestRunParameters>
<Parameter name="webAppUrl" value="http://localhost" />
<Parameter name="webAppUserName" value="Admin" />
<Parameter name="webAppPassword" value="Password" />
</TestRunParameters>
管道 PowerShell 任务内联脚本:
[xml]$DSConfig = gc "$(build.sourcesdirectory)/test.runsettings" #file path
# Select <parameters> nodes
$ParametersNode = $DSConfig.SelectNodes('//Parameter')
foreach($Node in $ParametersNode)
{
echo Name: $Node.name Value: $Node.value
}
结果:
推荐阅读
- openstreetmap - 使用多边形作为搜索区域立交桥 api / 立交桥涡轮
- ruby - 如何在 Ruby 中分析 `require` 语句?
- asp.net-mvc - Razor 视图调用错误的操作
- python - Python中的弃用警告,在这里有意义吗?
- arrays - 我如何获得 OpenGL ES 2.0 中顶点的实际位置
- javascript - 如何将单词和数字放入用 CanvasJs 制作的图表的条形中?
- c# - 包含自引用子项的查询表
- python - Discord.py 如何让我的机器人在没有“播放”的情况下显示活动
- c# - 如何使更改立即出现在用户界面中?
- google-cloud-dataflow - Apache Beam 中的顺序执行 - Java SDK 2.18.0