MSTest 忽略环境测试以避免 TeamCity 中的 运行

MSTest ignore test by environment to avoid running in TeamCity

Visual Studio 2019 16.4.1 ASP.NET 核心 3.1 MSTest v1.3.2 v2.0.0 TeamCity 2019.1.2(内部版本 66342)

我有一个集成测试,当我在 Visual Studio 中 运行 我的本地测试套件时,我想将其包括在内,但当 运行 在我的集成测试构建下时,我想将其排除在外进入我的 TeamCity 管道。

[Ignore] // I need this ignore to only apply when run in TeamCity
[TestMethod]
public void MyTest()
{
}

也许可以使 [Ignore]ASPNETCORE_ENVIRONMENT 系统环境变量为条件?

当 运行 在 TeamCity 上进行测试时,您能否将过滤器传递给测试?使用 example from the docs:

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace MSTestNamespace
{
    [TestClass]
    public class UnitTest1
    {
        [TestCategory("CategoryA")]
        [Priority(1)]
        [TestMethod]
        public void TestMethod1()
        {
        }

        [Priority(2)]
        [TestMethod]
        public void TestMethod2()
        {
        }
    }
}

dotnet test --filter TestCategory=CategoryA

运行用 [TestCategory("CategoryA")].

注释的测试

在您的示例中,CategoryA 将被替换为表明它们是集成测试的标签。