Как запустить тесты тестирования модулей из командной строки?
Я 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)
Ответы
Ответ 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 также имеют возможности фильтрации для запуска только подмножества ваших модульных тестов (например, для каждой категории, для каждого прибора и т.д. )