В Visual Studio Test, как создать список воспроизведения, который автоматически исключает определенные тесты?
В нашей команде есть лицензии Visual Studio 2012 Professional (не Test Professional). Мы разрабатываем небольшое веб-приложение, и у нас есть как настоящие модульные тесты, которые издеваются над всем необходимым, так и тесты для уровня данных. Каждый класс тестов уровня данных создает всю базу данных с нуля и заполняет ее подготовленным набором тестовых данных, поэтому их выполнение занимает много времени. В результате мы неохотно выполняем "запустить все", и наши модульные тесты (которые бывают быстрыми) используются редко.
Мы ищем решение с низким коэффициентом трения, которое позволит нам быстро запускать все быстрые тесты с помощью 2-3 щелчков (аналогично существующему "Запустить все" ) и легко запускать все тесты, когда это необходимо.
Мы попробовали сделать только плейлист с быстрыми тестами. Но мы закончили программирование слоя данных, поэтому практически все новые тесты, которые мы пишем, являются быстрыми тестами, и добавление каждого из них в список воспроизведения раздражает и подвержено некоторым ошибкам. Мы предпочли бы подход, когда мы каким-то образом помешаем тесты, которые мы не хотим в "быстром запуске", как исключенные, и автоматически запускаем все остальные тесты в решении. Обратите внимание, что мы не хотим постоянно добавлять атрибут Ignore для медленных тестов, так как мы все же хотим запускать их по крайней мере один раз в день.
Ответы
Ответ 1
Вы можете использовать функцию "Черты" в mstest для этого. Взгляните на это сообщение в блоге:
http://blogs.msdn.com/b/visualstudioalm/archive/2012/11/09/how-to-manage-unit-tests-in-visual-studio-2012-update-1-part-1-using-traits-in-the-unit-test-explorer.aspx