Как запустить определенные тесты с помощью теста dotnet?

У меня есть большой набор тестов в проекте.NET Core. Я могу использовать окно Test Explorer, чтобы выбрать несколько тестов для запуска.

Я также могу запустить весь набор тестов в командной строке с dotnet test. Есть ли способ запустить только один (или несколько) тестов в командной строке?

Ответ 1

С помощью dotnet версии 1.0.0 вы должны использовать опцию --filter:

Вы можете фильтровать по DisplayName, FullyQualifiedName и Traits.

Пример:

dotnet test --filter "FullyQualifiedName=YourNamespace.TestClass1.Test1"

Кроме того, эти операторы разрешены: =,! = И ~ (содержит).

Больше информации здесь: docs

Ответ 2

Этот ответ устарел...

Это xunit specific: dotnet test -method <test name>

<test name> - полное имя метода (namespace + class + имя метода)

Если ваши тесты - это Theory, AFAIK, нет способа указать, какую теорию следует выполнять. Он будет запускать все из них.

Ответ 3

Поскольку этот вопрос отмечен xUnit, команда для команды dotnet xUnit CLI выглядит следующим образом:

dotnet xunit -method FullyQualifiedName