Проблема заключается в том, что если вы не укажете об этом иначе, NUnit создаст подпроцесс для запуска тестов, когда он это определит. Если вы посмотрите его в Process Explorer, вы увидите, что «nunit-console.exe» * порождает «nunit-agent.exe» *. Отладчик Visual Studio автоматически не присоединяется к дочерним процессам.
В этом случае, я считаю, что несоответствие версии является причиной того, что он хочет начать подпроцесс. Самый простой способ обойти это - отредактировать «nunit-console.exe.config» *, чтобы изменить набор значений <supportedRuntime>
. Там уже должно быть комментарием там маркировки линии, что вы должны закомментировать для того, чтобы заставить его работать как .NET 4.0:
<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>
После того, как вы меняете, что первый процесс NUnit уже будет .NET 4.0 и ему не нужно будет создавать подпроцесс. Если вы хотите быть уверенным, укажите /process=Single
, и NUnit либо запустится в одном процессе, либо не сразу, если не сможет.
* - Если вам нужно использовать версии x86, заменитель:
nunit-console.exe -> nunit-console-x86.exe
nunit-agent.exe -> nunit-agent-x86.exe
nunit-console.exe.config -> nunit-console-x86.exe.config
Вы должны иметь возможность установить контрольные точки в этом случае. Как вы выполняете тесты и как вы присоединяете отладчик? –
@FrankSchwieterman Свойства отладки моего проекта имеют действие начала, которое указывает на nunit-console.exe и аргументы командной строки, содержащие аргументы nunit. Я устанавливаю контрольные точки, а затем выбираю Debug в explorer для тестов csproj. Отладчик работает, и состояние точки останова изменяется с ошибкой «символы не могут быть загружены» – simonc
хмм это не похоже на визуальную студию, прикрепленную к процессу, выполняющему ваши тесты (он будет прикреплен к любому приложению, на которое вы нажмете f5, хотя это приложение имеет шаг сборки для запуска NUNit) –