Мы используем Visual Studio 2010 Ultimate с тестами, написанными на MSTest. Оба наших модульных теста и интеграционные тесты * написаны в MSTest.
** По нашему определению, тест интеграции - это MSTest TestMethod
, который требует времени для запуска и/или вызова внешних компонентов, таких как база данных или веб-службы. *
Я ищу способ легко отфильтровать интеграционные тесты, так что только те тесты модулей запускаются без всех тестов интеграции.
Мои идеи до сих пор:
-
Отметьте тесты интеграции с атрибутом
[Ignore]
. Это работает, но это настоящая боль, когда вы хотите запустить интеграционные тесты. -
Назначьте атрибут
[TestCategory]
для разных типов тестов. Это позволяет запускать их отдельно, но только через панель Test View. Вы не можете использовать CTRL + R, A (выполнить все тесты в решении) или другие похожие ярлыки/горячие клавиши. -
Тесты интеграции находятся в отдельном проекте, есть ли что-то, что можно было бы сделать, чтобы остановить их на уровне проекта? Пока он легко переключается.
-
Напишите тесты интеграции в другой тестовой среде, например. NUnit. Это будет держать их полностью отделенными от инструментальной точки зрения.
Есть ли у кого-нибудь другие предложения? Существуют ли какие-либо плагины, которые могут помочь с этим?