如何在管道中使用 VSTest 指定一组测试

How do I specify a set of tests using VSTest in a Pipeline

使用我想要构建的 Azure 管道和 运行 Web 服务测试。 使用 classic 管道构建器(所以不是 YAML)我希望能够 select 一组特定的测试 运行。我的测试分为各种 classes。每个 class 都有很多测试。

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

我尝试了以下但没有找到测试

类名=WebServices.SocialTests

ClassName=SocialTests

Tests=SocialTests

测试=WebServices.SocialTests

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

dotnet vstest mytests.dll /Tests:SocialTests

所以问题是为什么我不能在管道中执行此操作?

作为解决方法,您可以将 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(){
        }
    }
}

详情请参考这篇document