Я использую VS 2017 с NUnit 3.10.У меня есть решение, которое имеет ~ 50K модульных тестов.Зарегистрированное время тестирования в окне проводника составляет 5-10 минут (большинство тестов занимают менее миллисекунды).Тем не менее, при запуске, это на самом деле занимает гораздо больше времени.Каждые 10000 тестов происходит длинная пауза (несколько минут), когда, казалось бы, ничего не происходит.Затем набирает следующие 10 КБ, затем снова пауза и т. Д. И т. Д.
- Кажется, не имеет значения, запускаю ли я тесты параллельно или последовательно.Пауза между группами по 10 Кбайт одинакова.
- Я не могу найти ничего в документации NUnit или Visual Studio около 10 Кб предела или порога для выполнения тестов.
- Аналогичное решение, которое запускает тесты xUnit.(снова около 50K тестов) вместо NUnit нет этой проблемы с длинными паузами между наборами 10K
Вот пример выходных данных теста, выполняющих подмножество моих тестов (~ 26Kих)
[10/5/2018 10:19:05 AM Informational] ------ Run test started ------
[10/5/2018 10:19:12 AM Informational] NUnit Adapter 3.10.0.21: Test execution started
[10/5/2018 10:19:13 AM Informational] Running selected tests in C:\Users\kspeer\Documents\GitHub\CreatureGen\CreatureGen.Tests.Unit\bin\Debug\CreatureGen.Tests.Unit.dll
[10/5/2018 10:19:27 AM Informational] NUnit3TestExecutor converted 25908 of 25908 NUnit test cases
[10/5/2018 10:26:35 AM Informational] NUnit Adapter 3.10.0.21: Test execution complete
[10/5/2018 10:26:41 AM Informational] NUnit Adapter 3.10.0.21: Test execution started
[10/5/2018 10:26:41 AM Informational] Running selected tests in C:\Users\kspeer\Documents\GitHub\CreatureGen\CreatureGen.Tests.Unit\bin\Debug\CreatureGen.Tests.Unit.dll
[10/5/2018 10:26:56 AM Informational] NUnit3TestExecutor converted 25908 of 25908 NUnit test cases
[10/5/2018 10:34:14 AM Informational] NUnit Adapter 3.10.0.21: Test execution complete
[10/5/2018 10:34:19 AM Informational] NUnit Adapter 3.10.0.21: Test execution started
[10/5/2018 10:34:19 AM Informational] Running selected tests in C:\Users\kspeer\Documents\GitHub\CreatureGen\CreatureGen.Tests.Unit\bin\Debug\CreatureGen.Tests.Unit.dll
[10/5/2018 10:34:33 AM Informational] NUnit3TestExecutor converted 25908 of 25908 NUnit test cases
[10/5/2018 10:38:58 AM Informational] Running selected tests in C:\Users\kspeer\Documents\GitHub\CreatureGen\CreatureGen.Tests.Integration.IoC\bin\Debug\CreatureGen.Tests.Integration.IoC.dll
[10/5/2018 10:38:58 AM Informational] NUnit3TestExecutor converted 26 of 26 NUnit test cases
[10/5/2018 10:38:59 AM Informational] NUnit Adapter 3.10.0.21: Test execution complete
[10/5/2018 10:38:59 AM Informational] ========== Run test finished: 25932 run (0:19:54.0766142) ==========
Зарегистрированный прогон в тестовом проводнике составляет всего 37 секунд, в отличие от 21 минуты в журналах.
Почему это происходит?Что-нибудь, что я могу настроить или сделать, чтобы улучшить это?
ОБНОВЛЕНИЕ 1: я выполнил те же самые тесты, используя консоль NUnit, и паузы не было.
ОБНОВЛЕНИЕ 2: Что еще интереснее, я запустил тесты в Visual Studio 2017 Community Edition и не увидел паузу.Я вижу паузу только в выпуске Visual Studio 2017 Enterprise.
ОБНОВЛЕНИЕ 3: Если вы «Выполните все», пробела нет.Если вы запускаете конкретный проект, возникает разрыв.