Nunit запускает каждый тест дважды

У меня возникла проблема с запуском моих тестов через NUnit. Я не знаю, почему, но каждый тест проходит дважды. Дело в том, что на другом ноутбуке он обычно работает только один раз.

У кого-нибудь такая же проблема и знаете, как с этим бороться?

5 ответов

У меня была та же проблема. В моем случае у меня было как расширение Visual Studio, так и пакет NuGet установленного NUnit Test Runner. Кажется, они оба выполняли тесты, в результате чего тесты выполнялись дважды.

Удаление расширения Visual Studio решило проблему.


У меня была аналогичная проблема при выполнении теста с бегуном Visual Studio NUnit3, тест запускался бы один раз, но при запуске в командной строке с NUnit3-Command.exe тест выполнялся дважды. Я слишком долго прогонял это. Я заметил, что бегун командной строки сообщал, что было выполнено 2 теста, и пришел к выводу, что это проблема в DLL. Это может показаться сумасшедшим, но я скопировал весь свой тестовый код в новый класс, удалил старый, скомпилировал, и тест теперь выполняется только один раз в обоих сценариях.


В моем случае он имел базовый класс и производный класс, имеющие атрибут TestFixture. Все тесты из производного класса будут выполняться дважды.

Исправлено его, только поместив атрибут в базовый класс.


Выполнение теста также может быть дублировано, когда последовательные тесты случайно имеют одинаковые параметры теста.

[Test, Sequential]
 public void Integr_MController_DeleteGet_ReturnsViewAndModel(
 [Values("[removed_email]", "[removed_email]")] string firstEmail,
 [Values("[removed_email]", "[removed_email]")] HTTPstring updatedEmail) {test code}

Пройдет тот же тест дважды и появится в TestExplorer в качестве одного и того же теста.


Проблема обычно возникает при загрузке тестового контейнера (DLL) несколько раз.

Это может произойти, если вы загружаете тестовые контейнеры из корневого floder, в котором есть как папки bin, так и obj внутри, что является типичной настройкой проектов Visual Studio.

Попробуйте ограничить загрузку тестового контейнера из папок bin.

licensed under cc by-sa 3.0 with attribution.