UnitTest продолжает висеть в Visual Studio 2010 - PullRequest
3 голосов
/ 10 ноября 2011

У меня недавно возникли проблемы при запуске всех моих модульных тестов одновременно.

Я могу отлаживать их и запускать тесты отдельно без проблем, но при запуске их всех вместе тестовый прогон продолжает зависать на полпути.

Это происходит:

  1. «Запустить все тесты в решении»
  2. Первые тесты анализируются без проблем (хотя и медленнее, чем обычно)
  3. В какой-то момент он застревает.Ничего не происходит, нет исключений, VS просто прекращает выполнение ожидающих тестов.
  4. При остановке тестового прогона он снова застревает, и мне нужно перезапустить VS, чтобы прервать тестовый прогон.

Обычно я ожидаю ошибку в моем коде, но я не вносил никаких изменений в тестируемый код со времени последнего успешного запуска теста.Единственное, что я сделал, - запустил Мастер производительности - профилирование Cuncurrency.

Он всегда останавливается на одном и том же месте, при удалении некоторых тестов из прогона он останавливает новое место (все еще без фактического ввода каких-либо оставшихся тестов).

Понятия не имею, что вызывает это.Но похоже, что у меня проблемы с настройкой VS, а не с кодом Error.

Есть предложения?Меняет ли мастер производительности какие-либо параметры, которые могли повлиять на способ запуска теста?

Сведения о системе: 64-разрядная версия Windows 7 Ultimate, Visual Studio 10 Premium

Ответы [ 2 ]

1 голос
/ 01 декабря 2011

Я не могу объяснить, почему это работает, но это решило проблему!

Я перевернул файл '. Csproj' в более раннюю версию, в одном из проектов, которые были в «контакте» с мастером производительности , и теперьмои тесты работают.

ТАКЖЕ Имейте в виду, что Performance Wizard может изменить конфигурацию решения с 'DEBUG' на 'RELEASEРежим ' в некоторых случаях.Это было не так для меня, но было болью для некоторых из моих коллег.

1 голос
/ 10 ноября 2011

Это звучит как проблема параллелизма.Похоже, что один тест изменяет среду тестирования таким образом, что другой тест заходит в тупик.Когда вы удаляете некоторые тесты, порядок выполнения тестов изменяется, и некоторые другие тесты застревают.

Так что я бы искал проблему параллелизма в отношении вашей тестовой среды / внешних зависимостей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...