首页 > 解决方案 > 如何在管道中使用 VSTest 指定一组测试

问题描述

我想使用 azure 管道构建和运行 Web 服务测试。使用经典的管道构建器(而不是 YAML),我希望能够选择一组特定的测试来运行。我的测试分为不同的类别。每个班级都有许多测试。

如果我将过滤器字段留空,我将在所有类中运行所有测试。但我想指定一类测试。我该怎么做呢?

我尝试了以下但找不到测试

ClassName=WebServices.SocialTests

ClassName=SocialTests

测试=社交测试

或者

测试=WebServices.SocialTests

使用 Jenkins,我可以从命令行运行这些测试。我所要做的就是指定以下内容:

dotnet vstest mytests.dll /Tests:SocialTests

所以问题是为什么我不能在管道中做到这一点?

标签: azure-pipelinesvstest

解决方案


作为解决方法,您可以将 TestCategory 添加到测试方法中,例如:--filter TestCategory=CategoryA运行带有 [TestCategory("CategoryA")] 注释的测试。

namespace MSTestNamespace
{
    using Microsoft.VisualStudio.TestTools.UnitTesting;

    [TestClass]
    public class UnitTestClass1
    {
        [Priority(2)]
        [TestMethod]
        public void TestMethod1(){
        
        }

        [TestCategory("CategoryA")]
        [Priority(3)]
        [TestMethod]
        public void TestMethod2(){
        }
    }
}

详情请参阅本文档


推荐阅读