Подтвердить что ты не робот

Как запустить тесты тестирования модулей из командной строки?

Я googled и нашел ниже полезные ссылки. В настоящее время я хочу запустить все из командной строки (для простоты выполнения и быстроты) в случаях:

  • Конкретный тест (т.е. тест, написанный методом, отмеченным [TestMethod()])
  • Все тесты в классе
  • Все результаты тестирования текущего ожидающего изменения TFS в настоящее время.
  • Все тесты
  • Все тесты, кроме тех, которые отмечены как категория [TestCategory ( "some-category" )]

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

Литература:

[изменить]

Через некоторое время я нашел следующие полезные советы.

  • выполните тестовые тесты Visual Studio с помощью MSTest.exe, расположенного в %ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe в моем случае.
  • используя /testcontainer:Path\To\Your\TestProjectAssembly.dll, чтобы указать, где ваши тесты закодированы. При необходимости вы можете указать несколько параметров "/testcontainer".
  • с помощью /test:TestFilter, чтобы отфильтровать тесты для запуска. Обратите внимание, что этот фильтр применяется к имени полного метода тестирования (то есть, FullNamespace.Classname.MethodName)
4b9b3361

Ответ 1

В настоящее время у меня могут быть ответы на мои вопросы:

  • Конкретный тест (т.е. тест, написанный методом, отмеченным [TestMethod()])
    Используйте MSTest.exe /container: TheAssemblyContainingYourSpecificTest /test: TheSpecificTestName

  • Все тесты в классе
    Используйте MSTest.exe /container: TheAssemblyContainingYourClass /test: TheClassNameWithFullNamespace
    Обратите внимание, что /test: - это фильтр, который использует полное имя класса при фильтрации.

Остальные остаются неизвестными. Пожалуйста, обсудите, знаете ли вы.

Ответ 2

Для числа 4. Для запуска всех тестов в сборке просто:

mstest/testcontainer:YourCompiledTestAssembly.dll

Ответ 3

За вопрос

5 Все тесты, кроме тех, которые обозначены как категории [TestCategory ( "некоторая-категория" )]

Использование

mstest.exe /testcontainer:yourTests.dll  /category:"!some-category"

Если вам нужно исключить более одной категории, используйте

mstest.exe /testcontainer:yourTests.dll  /category:"!group1&!group2"

Ссылка: /фильтр категории

Ответ 4

Вам может быть интересен пакет Gallio. Он предоставляет бесплатную общую платформу автоматизации для запуска ваших тестов (MSTest, MbUnit, NUnit, xUnit и т.д.) С различными тестовыми участниками (графический интерфейс, командная строка, PoSh, плагины для сторонних инструментов и т.д.).

В частности, вы можете использовать Gallio.Echo, который является хорошим проводником для командной строки:

Gallio.Echo

Тестеры Gallio также имеют возможности фильтрации для запуска только подмножества ваших модульных тестов (например, для каждой категории, для каждого прибора и т.д. )