Nunit не попадает в точки останова в библиотеке классов тестовых проектов (VS2012)
У меня есть консольное приложение, и я добавил решение библиотеки классов в проект, чтобы держать все мои модульные тесты.
все работает нормально, кроме того, что точки останова не попадают, когда я запускаю свои тесты.
Если я запускаю все приложение, точки останова в консольном приложении попадают нормально.
Если я запускаю тесты, точки останова в тестовых классах и консольном приложении полностью игнорируются.
Я видел еще один пост, говорящий перейти к отладке > запустите новый экземпляр, но поскольку это библиотека классов, я не могу этого сделать. Должен ли я иметь тестовые классы в другом типе проекта?
Я использую NUnit, VS2012 и бегунов NUnit.
У меня есть пара неудачных тестов, и я не могу понять, почему, мне действительно нужно иметь возможность пройти через код.
любая помощь очень ценится.
3 ответов
мой тестовый код был скомпилирован в .Net 4.5 и использовал Nunit2.6.1.
точки останова не попадали, если бы я только сделал опцию отладки тестового проекта->запустить внешнюю программу - >nunit-86x.exe и отдай .имя dll будет аргументом командной строки.
это начинается с NUnit exe, но без точек останова.
1) чтобы решить эту проблему, перейдите в
C:\Program Files (x86)\NUnit 2.6.1\bin
2) искать nunit-x86.exe.config
или если вы планируете использовать nunit.затем exe открыть nunit.exe.config
.
3) Откройте штраф в блокноте и найдите строку
<startup useLegacyV2RuntimeActivationPolicy="true">
<!-- Comment out the next line to force use of .NET 4.0 -->
<supportedRuntime version="v2.0.50727" />
<supportedRuntime version="v4.0.30319" />
</startup>
4) Удалите строку поддерживаемой версии среды выполнения=v2.0.50727 и сохраните файл (откройте в режиме администратора, открыв блокнот в admin правой кнопкой мыши и откройте как admin).
5) перестроить проект запустите сеанс отладки тестового кода. Точки останова будут поражены.
для всех, кто имеет эту проблему: проверьте, если вы строите в режиме выпуска.
У меня была эта проблема с NUnit 3.7.0, и dotnet core 1.0, и VS 2017. Оказалось, что я строил в режиме Release. Здание в режиме отладки Исправлена проблема.