Visual Studio: исключить проект по умолчанию при запуске тестов из обозревателя тестов

Я добавил проект интеграционного теста в свое решение и не хотел бы запускать его по умолчанию при использовании обозревателя тестов.

Единственное решение, с которым я столкнулся, чтобы изолировать эти тесты, — это вручную классифицировать их и отказаться от запуска тестов с определенной чертой из проводника тестов. В идеале я мог бы исключить их, чтобы людям в моем проекте не приходилось делать этот выбор явным образом.

Спасибо!


person Jordan    schedule 21.08.2019    source источник
comment
Какую тестовую среду вы используете? NUnit2, NUnit3, XUnit, MSTest?   -  person Vladimir Serykh    schedule 21.08.2019
comment
Я обновил тег, чтобы указать nunit3   -  person Jordan    schedule 22.08.2019


Ответы (1)


В NUnit есть специальный атрибут, чтобы пометить ваши тесты, которые не должны запускаться автоматически.

[Explicit]

Атрибут Explicit приводит к тому, что тест или тестовая фикстура будут пропущены, если они явно не выбраны для запуска.

https://github.com/nunit/docs/wiki/Explicit-Attribute

Вы просто помещаете его в класс или метод:

[TestFixture]
[Explicit]
public class IntegrationTests
{
    // ...
}

[TestFixture]
public class UnitTests
{
    [Test]
    public void ShouldNotFail()
    {
         // This will run
    }

    [Test]
    [Explicit]
    public void ManualTest()
    {
        // This will be ignored
    }
}

Вот результат:

Результаты тестирования

person Vladimir Serykh    schedule 22.08.2019
comment
Есть ли способ запустить явные тесты из командной строки (например, с помощью vstest.console.exe)? - person Jordan; 29.08.2019