MSTest игнорирует тест по среде, чтобы избежать запуска в TeamCity - PullRequest
0 голосов
/ 06 мая 2020

Visual Studio 2019 16.4.1 ASP. NET Core 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 системная переменная среды?

1 Ответ

1 голос
/ 06 мая 2020

Не могли бы вы передать фильтр тестам при их запуске в TeamCity? Используя пример из документов :

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")].

В вашем примере , Категория A будет заменена меткой, указывающей, что это интеграционные тесты.

...