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