如何将Azure Test Plan与自动化单元测试关联以实现测试计划自动化执行
如何将Azure Test Plan与自动化单元测试关联以实现测试计划自动化执行
看起来你已经搭好了基础环境——在Azure DevOps里创建了测试计划,里面有带两个测试用例的测试套件,同时Azure Repo里的项目包含两个单元测试,不管是在Visual Studio本地还是Azure Pipelines里都能正常执行。现在你想把这两者关联起来,不用手动跑测试用例,让测试计划能自动获取自动化单元测试的执行结果对吧?这其实是Azure DevOps里很实用的一个功能,我给你梳理下具体的操作步骤:
一、给单元测试标记关联标识
首先得让你的单元测试和Azure Test Plan里的测试用例“对上号”,这就需要在测试代码里给每个单元测试标记对应的测试用例ID:
- 如果用的是MSTest框架,给测试方法添加
[TestProperty("TestCaseId", "你的测试用例ID")]特性,比如你的测试用例ID是TC101,代码示例如下:[TestClass] public class MyUnitTests { [TestMethod] [TestProperty("TestCaseId", "TC101")] public void TestMethod1() { // 你的测试逻辑 } } - 如果是xUnit框架,就用
[Trait("TestCaseId", "你的测试用例ID")]特性:public class MyUnitTests { [Fact] [Trait("TestCaseId", "TC102")] public void TestMethod2() { // 你的测试逻辑 } }
这里的测试用例ID你可以在Azure Test Plan的测试用例详情页找到,一般是类似TC开头的编号。
二、配置Pipeline测试任务关联Test Plans
接下来要在你的Azure Pipeline里设置测试任务,让它把测试结果同步到Test Plan里:
- 找到Pipeline里的测试任务(比如.NET项目用“Visual Studio Test”任务),进入任务配置界面
- 找到“测试结果发布”相关的设置,勾选**“将测试结果发布到Azure Test Plans”**
- 配置对应的测试计划和测试套件信息,或者直接让系统通过你标记的
TestCaseId自动匹配对应的测试用例 - 确保任务权限足够:Pipeline使用的服务连接需要有访问Azure Test Plans的权限,一般项目内默认的服务连接都能满足要求
三、验证关联效果
完成上面两步后,手动触发一次Pipeline运行。等Pipeline执行完,回到Azure Test Plan里打开对应的测试用例,你就能看到自动化测试的执行结果已经同步过来了。之后每次Pipeline运行时,单元测试的执行结果都会自动更新到对应的测试用例中,你的测试计划就不用再手动执行啦,完全靠自动化单元测试驱动。
额外注意点
- 记得把Azure Test Plan里的测试用例状态设置为**“自动化”**,这样系统才会优先同步自动化测试的结果
- 如果用的是其他测试框架(比如NUnit),也可以通过类似的自定义属性来标记TestCaseId,只要测试任务能识别这些属性即可
备注:内容来源于stack exchange,提问作者Hassaan Faruq
相关产品推荐
相关产品推荐

