Как остановить NUnit TestRunner?

Я тестирую модуль C# с использованием NUnit версии 3.9.0.0 (Runtime Version v4.0.30319, пробовал разные версии до 3.10.0.1) из VS 2017 Enterprise, TestDriven.Net V 4.1-Alpha, ОС Windows 10 Pro. Сборки проекта целевые.Net 4.0.

В большинстве случаев он работает нормально, но иногда поведение NUnit становится непредсказуемым, поэтому с системой больше работать нельзя. На самом деле, я начинаю очень простой модульный тест, и он проходит. Затем я снова запускаю тот же тест, и система зависает. Вы не можете остановить поток тестирования, как показано на рисунке ниже (красный значок ракеты не реагирует на щелчок правой кнопкой мыши):

Мне также не удалось найти соответствующий процесс в диспетчере процессов, чтобы вручную убить его. Элементы NUnit в контекстном меню остаются серыми, и нет никакого способа остановить / перезапустить тест изнутри, см. Ниже:

Единственная возможность - полностью перезапустить VS, тогда вы можете выполнить ровно один тест, и все начинается снова. Что может быть не так?

1 ответ

Недостаточно места в комментарии, так что...

Я подозреваю, что TD.Net может запускать тесты как внутри, так и вне процесса. Если он исчерпал процесс с использованием собственного агента NUnit, то вы увидите, что процесс запущен nunit-agent.exe или же nunit-agent-x86.exe, Вы можете убить этот процесс, если хотите.

Тем не менее, это звучит так, что процесс завершается сбоем и завершается. Проблема может легко состоять в том, что TD.Net не замечает, что произошло. Он ожидает сигнала от процесса, чтобы показать, что запуск завершен. Если это так, то он никогда не включит отключенные элементы управления.

Вы можете проверить это, запустив некоторые тесты, которые не вызывают проблемы в TD.NET. Это должен быть тестовый запуск, который занимает некоторое время, поэтому у вас есть время, чтобы убить процесс агента. Смотрите, чтобы увидеть, что делает TD.Net. Заметил ли ты, что ты убил процесс? Если нет, у вас есть проблема, чтобы сообщить в TD.Net. Если он обнаружит и снова включит элементы управления, то мы еще не поняли источник проблемы.

Другие вопросы по тегам