Отдельное выполнение модульных и интеграционных тестов с использованием MSTest

Мы используем Visual Studio 2010 Ultimate с тестами, написанными на MSTest. И наши модульные тесты, и интеграционные тесты * написаны на MSTest.

** По нашему определению, интеграционный тест - это MSTest TestMethod , выполнение которого требует времени и / или вызывает внешние компоненты, такие как база данных или веб-службы. *

I ' m ищу способ легко отфильтровать интеграционные тесты, чтобы выполнялись только модульные тесты, но не запускались все интеграционные тесты.

Мои идеи на данный момент:

  1. Отметьте интеграционные тесты атрибутом [Игнорировать] . Это работает, но это настоящая боль, когда вы все же хотите запустить интеграционные тесты.

  2. Назначьте атрибут [TestCategory] для различных типов тестов. Это позволяет запускать их отдельно, но только через панель Test View. Вы не можете использовать CTRL + R, A (запустить все тесты в решении) или другие аналогичные сочетания клавиш / горячие клавиши.

  3. Интеграционные тесты находятся в отдельном проекте. Можно ли что-нибудь сделать, чтобы остановить их выполнение на уровне проекта? Пока легко переключаться.

  4. Напишите интеграционные тесты в другой тестовой среде, например NUnit. Это позволит им полностью отделиться от инструментария.

Есть ли у кого-нибудь другие предложения? Существуют ли какие-либо плагины, которые могут помочь с этим?

16
задан Cœur 24 December 2016 в 15:10
поделиться