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

如何在VSTS中仅运行基于NUnit3+C#的Selenium自动化Sanity测试用例

嗨,我来帮你搞定这个需求!结合NUnit3的特性和VSTS(现在也叫Azure DevOps Pipeline)的配置,有几种简单高效的方法可以只运行你的Sanity测试用例,不用每次跑全部:

方法1:用NUnit的Category/Trait标记测试,在VSTS中过滤

这是最常用也最灵活的方式,步骤如下:

  • 第一步:给Sanity测试加标记
    在你的C#测试代码里,给需要归类为Sanity的测试用例加上[Category]属性(或者更灵活的[Trait]属性):

    // 使用Category属性
    [Test]
    [Category("Sanity")]
    public void LoginSanityTest()
    {
        // Selenium测试逻辑
    }
    
    // 或者用Trait属性(更适合自定义键值对)
    [Test]
    [Trait("TestSuite", "Sanity")]
    public void CheckoutSanityTest()
    {
        // Selenium测试逻辑
    }
    
  • 第二步:在VSTS Pipeline中配置过滤
    打开你的VSTS测试任务(通常是「Visual Studio Test」任务),找到测试过滤器输入框:

    • 如果用的是[Category],就填:TestCategory=Sanity
    • 如果用的是[Trait],就填:Trait="TestSuite","Sanity"
      这样任务就只会运行标记了对应Category/Trait的测试用例。

    如果你是用NUnit3控制台命令行来运行测试,也可以直接加过滤参数:

    nunit3-console.exe YourTestAssembly.dll --where "cat == Sanity"
    # 或者对应Trait的写法
    nunit3-console.exe YourTestAssembly.dll --where "TestSuite == Sanity"
    

    把这个命令放到VSTS的「命令行」任务里执行就行。

方法2:通过测试名称前缀/关键词过滤

如果你的Sanity测试用例名称都有统一的命名规则(比如都以Sanity_开头,或者名称里包含Sanity),可以直接用名称过滤:
在VSTS测试任务的测试过滤器里填:Name~Sanity
这个语法会匹配所有名称中包含Sanity的测试用例,不用修改代码,适合临时快速筛选。

方法3:拆分Sanity测试到独立项目(可选)

如果你的Sanity测试数量较多,且和其他测试的边界很清晰,可以直接把这些测试单独放到一个新的测试项目里(比如YourProject.SanityTests)。然后在VSTS Pipeline中,只指定运行这个项目的测试文件,完全隔离其他测试用例,这种方式管理起来更清晰,适合长期维护的大型测试套件。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:09:14