Вы можете заставить функционировать покрытия кода VS 2010 работать во время выполнения тестов NUnit, но это адская работа по настройке:
Настройте общий тест для запуска nunit-console-x86.exe следующим образом:
Поддерживает ли код покрытия VS2010 nUnit?
(упрощенное описание для xUnit)
http://msdn.microsoft.com/en-us/library/ms182624(v=vs.100).aspx
(общее описание)
Убедитесь, что:
- у вас активирован "инструмент на месте". Доверие к развертыванию VS не будет работать
- вы запускаете nunit-console-x86.exe. 64-разрядная версия не будет работать.
- все библиотеки, которым нужны результаты покрытия кода, собраны в одной папке. Копирование их (например, по событию сборки) не будет работать. (Для продвинутых: Вы можете использовать библиотеки в другом месте, чем их выходная папка сборки, но это довольно сложно.)
- папка со всеми библиотеками является рабочей папкой для общего теста, и вы запускаете из нее NUnit.
- вы указываете аргумент NUnit как относительный путь к рабочей папке.
- вы дополнительно предоставляете NUnit параметр командной строки / noshadow
Когда вы копируете свои dll из разных папок в одну папку для тестов, могут происходить странные вещи. Я, например, получил обнадеживающий результат, что почти весь код для модульных тестов покрывается при выполнении модульных тестов .
Как жаль, что покрытие кода не нашло библиотеку , протестированную модульными тестами!
Ну, после настройки всех выходных каталогов сборки я столкнулся с самой странной проблемой: из этой папки не запускается NUnit. У меня он работает из 2 разных мест, но здесь идет "nunit-console-runner.dll not found".
Я понял это правильно только при использовании проверенной библиотеки в другом месте с помощью:
- тесты> редактировать настройки> локальные
- Данные и диагностика> покрытие кода
- деактивировать исходное местоположение и добавить библиотеку из тестовой папки
Сегодня это сработало мгновенно, но на днях я попытался определить местоположение примерно на час. Я до сих пор не знаю, что я испортил в тот день.