Подтвердить что ты не робот

Запуск NUnit через Resharper 8 тестов не удается при пересечении проектов из-за AppDomain

Недавно я обновился до Resharper 8, и когда я попытался запустить набор проектов. Эти тесты содержат два набора интеграционных тестов, которые используют IISExpress для запуска веб-сайта, создания веб-запросов и проверки ответов.

Выполнение их в изоляции выполняется успешно, и запуск всех тестов ранее был успешным. Однако после завершения второй набор тестов для запуска завершится с ошибкой.

Исследование показало, что AppDomain.CurrentDomain.BaseDirectory остается в качестве первого теста для запуска вместо изменения. Поскольку тесты интеграции состоят из двух проектов, это приводит к сбою второго проекта, поскольку он не может найти какой-либо необходимый файл конфигурации.

Я не могу найти никакой опции, чтобы отключить это другое поведение в Resharper 8, которое, по-видимому, является поведением флага /domain:Single nunit. Не дожидаясь перехода на Resharper 7, кто-нибудь знает об этом? И это предполагаемое поведение Resharper 8 или ошибка?

4b9b3361

Ответ 1

Обходной путь:

Пробовали ли вы в Visual Studio на ReSharper → Параметры → Инструменты → Тестирование единиц

Измените параметр "Выполнить до 1 сборки параллельно" на большее число. Я попробовал один для каждого тестового проекта. Макс - это число ядер, я думаю.

Контринтуитивный я знаю, но он работал у меня, и я использую AppDomain.CurrentDomain.BaseDirectory в неудачных тестах

Причина Ошибка оптимизации кэширования в ReSharper 8. Рабочий каталог установлен неправильно. Возможно, параллельная работа создает отдельный процесс для каждого теста, поэтому они не переключаются друг на друга.

Исправление JetBrains утверждают, что это будет исправлено в версии 8.0.1

Обновление: В Resharper 8.1 добавлена ​​опция нового модульного тестирования, чтобы разместить этот сценарий. Найдите его в ReSharper → Параметры → Инструменты → Тестирование устройств → " Используйте отдельную AppDomain для каждой сборки с тестами.

Ответ 3

Теперь это исправлено в Resharper 8.0.2: http://youtrack.jetbrains.com/issue/RSRP-374143#comment=27-572929

Не забудьте отметить новый вариант ReSharper | Варианты | Инструменты | Ед. изм Тестирование | "Используйте отдельный AppDomain для каждой сборки с тестом", чтобы получить он работает.

то есть. Теперь в настройках Unit Testing есть новая опция.