2013-08-29 3 views
4

Я запускаю свои модульные тесты на тестовом агенте. Я изменил свои настройки для использования ParallelTestCount = «0», поэтому тесты выполняются параллельно. У меня тогда есть тесты с ошибкой, так как тесты используют один и тот же экземпляр Mock.Mestest ParallelTestCount на тестовых классах нет тестов

В любом случае я могу запускать каждый тестовый класс параллельно, а не отдельные тесты?

Есть ли лучшая альтернатива командной строке MSTEST для проверки моих двоичных файлов?

Я бег Visual Studio 2012 и TestAgent и контроллер 2012.

Заранее спасибо

+1

Можно ли убедиться, что ваши тесты не зависят друг от друга (путем удаления общего состояния)? Это опасно для создания модульных тестов, которые зависят друг от друга. –

+0

Не то, чтобы они зависели друг от друга, но в Test Initializer я устанавливал Mocks, что каждый тест запускает, т.е. уменьшает код ... У меня есть 200 неудачных тестов из 4000, и я надеялся не рефакторировать их ... так что если i может запускать тестовые классы параллельно, тогда у меня не было бы этой проблемы ... – MicroMan

ответ

0

Там нет такого варианта, насколько я знаю.

Эти неудачные тесты фактически показывают, что у вас есть общее состояние между вашими модульными тестами - в этом случае поле класса (макет).

Рассмотрите возможность создания общих объектов в каждом тесте вместо использования TestInitialize, чтобы создать макет объекта, если это завершенная настройка, затем используйте вспомогательный метод.

Я не рекомендую разделять тесты между двумя методами, и я думаю, что это минимальное дублирование кода не только гарантирует, что у вас нет общего состояния, но также создает более читаемые тесты и гарантирует, что случайное редактирование вашего метода инициализации не приведет к сбою других тестов.

Для получения дополнительной информации о том, почему я предпочитаю не использовать SetUp/TestInitialize, проверьте James Newkirk blog или my own thoughts on the subject.

Смежные вопросы