2015-11-02 3 views
9

Я использую Test Explorer в Visual Studio 2015 через адаптер NUnit VS для запуска моих модульных тестов.Почему время тестирования NUnit медленное при использовании «Запустить все» в VS 2015 Test Explorer?

При использовании Test Explorer, «Run All» команда мои тесты запуска и шоу годен/не годен в течение секунды, но общее время выполнения составляет 34 секунд.

Test Explorer using 'Run All'

При выборе всех тестов и с помощью «запуска отдельных тестов» правой кнопкой мыши контекстное меню и те же тесты взять общее время выполнения 1 секунды.

Test Explorer using 'Run Selected Tests'

Я не нашел каких-либо подсказки относительно того, почему это занимает так много больше времени, чтобы использовать «Run All».

ответ

2

Давайте посмотрим на выходное окно. Если я «Выполнить все» окно вывода выглядит следующим образом

------ тест Discover начал ------
========== Discover тест закончен: 92 найдено (0: 00: 00,4993709) ==========
------ Выполнить тест начал ------
========== Выполнить тест закончил: 92 запуска (0: 00: 04,157636) ==========

Если я вместо этого выбрать все тесты, которые я хочу, чтобы проверить выходное окно выглядит следующим образом

------ Выполнить тест начал ------
========== тест Run закончил: 92 бег (0: 00: 03.7262618) ======== ==

Дело в том, что, когда вы берете «Выполнить все» Тест исследователь должен пройти через весь код и повторно найти все классы с атрибутом «TestClass» и все его методы, украшенные с «TestMethod» атрибут (это делается с помощью отражения, которая в некоторых случаях может быть немного «медленно»). Зачем? Так что тест исследователь может найти все новые и методы испытаний поддержки существующих.

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

Это немного догадка о том, что означает «Общее время выполнения», я никогда не использовал NUnit, и эти мысли были длинными для публикации в комментарии.

Смежные вопросы