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

Visual Studio "Отладка Unit Test" не попадает в контрольные точки

При использовании Visual Studio 2008 и отладки моих модульных тестов... иногда отладчик работает нормально. Однако очень часто после изменения какого-либо кода, затем нажав "Отладка Unit Test", Visual Studio не ударит по точкам останова в коде. Отладчик в основном зависает, и в конечном итоге тесты запускаются с новым кодом в любом случае, но никогда не перестают позволять мне видеть, что происходит.

Я предполагаю, что это имеет какое-то отношение к кешированию некоторых типов, выполняемому отладчиком, но не важно, что я делаю (очистить проект, удалить папки bin, перезапустить VS и т.д.). Я никогда не смогу получить правильную сборку нагрузки. Кто-нибудь еще видел это поведение? Любые решения?

Кстати, используя Resharper 4.5 и .NET 3.5 на Win XP.

4b9b3361

Ответ 1

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

Я всегда использую конфигурацию решения Debug, но по какой-то причине мое решение было настроено на создание версии Release.

Переключение с Release на Debug в раскрывающемся списке в верхней части Visual Studio устранило мою проблему.

Ответ 2

Другой способ: принудительно запустить отладчик из unit test:

System.Diagnostics.Debugger.Launch();

Ответ 3

Теперь у нас есть эта проблема с Visual Studio 2017 15.5 и Resharper 2017.2. Проблема, вызванная Resharper и решена в последних версиях 2017.3 +

ссылка

Ответ 4

У меня была та же проблема, хотя у меня нет постоянного решения, это быстрое одно время: Отлаживайте unit test (Ctrl-T, Ctrl-D), затем перейдите в "Immediate Window", введите что-нибудь (например, "a" или "null" ) и нажмите enter. После этого точка останова будет удалена.

Ответ 5

Точка останова не попадает при запуске отладки из окна "Unit Test Sessions" (Resharper - Windows - Unit Test Sessions), который поступает из ReSharper.

Но когда запуск теста из окна "Проводник тестеров" (Test - Windows - Test Explorer) VS, он попадает в точку останова.

VS Enterprise 2017 V15.5.6, ReSharper 2017.2.2

Последний ReSharper 2017.3.1 не является вариантом, поскольку он содержит другие ошибки

Ответ 6

Одна проблема, с которой я столкнулся при попытке отладки тестового метода, заключалась в том, что он был закрытым. Простое изменение метода с private на public исправило мою проблему.

Я не знаю, почему это проблема, но, вероятно, это как-то связано с реализацией атрибута [Test] NUnit.

Ответ 7

Если у вас есть [HostType("ASP.NET")], удалите его и Test → Debug → Запустите тесты снова

Ответ 8

То, что оказалось решением для меня: убедитесь, что все версии вашего пакета nuget совпадают. В моем Newtonsoft.Json тестовом проекте использовалась версия Newtonsoft.Json которая была новее, чем ссылка на Newtonsoft.Json по проекту, который я тестировал. Как только я обновил все пакеты nuget до последней версии, я смог достичь точки останова

Ответ 9

Убедитесь, что вы отлаживаете правильный тест!

У меня есть несколько тестов с очень похожими именами, за исключением последнего слова в названии теста. В первом тесте была установлена точка останова, а во втором тесте окно "Студия тестов" Visual Studio использовалось для "Отладка выбранных тестов", для которого не была установлена точка останова.

Тестовые имена

PublishAsync_Valid_Acked
PublishAsync_Valid_Nacked