You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C# MSTest中强制所有TestMethod添加Owner属性及CI校验

MSTest测试方法统一添加[Owner]属性及CI强制执行方案

我们有50余个基于Visual Studio MSTest框架的项目,目前部分测试方法未添加[Owner]属性,示例代码如下:

[TestMethod]
public async Task Sometask()
{
    
}

要求所有项目的测试方法统一遵循以下规范:

[TestMethod]
[Owner(TestOwners.OwnerName)]
public async Task Sometask()
{
    
}

关于CI流水线强制执行该规则的方案

  • 自定义Roslyn分析器:编写Roslyn分析器,检查所有标记[TestMethod]的方法是否同时存在[Owner]属性,不存在则触发错误。把分析器打包成NuGet包引入所有项目,在CI流水线中开启代码分析并设为错误级别,一旦检测到违规,流水线直接失败。
  • 脚本批量检查:在CI执行测试前,用PowerShell/Shell脚本遍历所有测试项目的代码文件,解析测试方法是否包含[Owner]属性,发现缺失就返回非零退出码终止流水线。
  • .editorconfig配合现有分析器:如果用StyleCop这类已有分析器,可以在.editorconfig里添加自定义规则,强制要求[TestMethod]必须搭配[Owner]属性。CI中启用代码分析任务,确保规则严格执行。

内容的提问来源于stack exchange,提问作者Jed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 04:28:35