如何在Azure Pipelines中结合Percy运行VsTest Runner
在VsTest中配置Percy结合.NET测试的方案
关键配置项
- PERCY_TOKEN:Percy的身份验证令牌,用于和Percy服务建立通信,是必填项
- Percy CLI 调用逻辑:需要将
dotnet test命令包裹在percy app:exec中,确保测试过程被Percy监控
具体配置步骤
1. 设置PERCY_TOKEN
有两种可靠的配置方式:
- 系统环境变量:直接在Windows系统环境变量中添加
PERCY_TOKEN变量,值为你的Percy令牌。VsTest运行时会自动读取该变量,无需额外配置。 - .runsettings 文件配置:
- 在Visual Studio中,通过「测试」→「配置运行设置」→「新建运行设置文件」创建
.runsettings文件 - 在文件中添加环境变量配置:
<RunSettings> <EnvironmentVariables> <PERCY_TOKEN>你的Percy令牌内容</PERCY_TOKEN> </EnvironmentVariables> </RunSettings>- 在测试资源管理器中选择该运行设置文件作为默认配置
- 在Visual Studio中,通过「测试」→「配置运行设置」→「新建运行设置文件」创建
2. 集成Percy CLI到VsTest流程
VsTest没有官方Percy插件,需通过自定义命令或构建事件实现集成:
- 预构建/预测试事件:
右键测试项目→「属性」→「生成事件」→「预构建事件命令行」,添加以下命令(确保已全局安装@percy/cli,提前执行npm install -g @percy/cli@latest):
这样每次构建项目时,会自动触发带Percy监控的测试。npx percy app:exec -- dotnet test "$(ProjectPath)" - 自定义VsTest运行命令:
在测试资源管理器中右键目标测试项目→「运行设置」→「自定义命令行」,输入:
注:执行前需在项目目录下执行npx percy app:exec -- dotnet test "你的项目完整路径.csproj"npm install --save-dev @percy/cli,确保本地有Percy CLI依赖。
验证配置
运行VsTest中的测试后,检查Percy控制台输出是否有快照捕获日志,同时登录Percy Dashboard确认测试结果是否正常上传。
内容的提问来源于stack exchange,提问作者HANSTKE
相关产品推荐
相关产品推荐

