Откройте для себя тесты, выполняемые дважды в xUnit

У меня есть настройка решения, в которой есть один тестовый проект/сборка xUnit, настроенный в этом решении, в котором есть средство запуска xUnit для настольных ПК.

Когда я запускаю тесты этого решения, запустив «Выполнить все» в окне обозревателя тестов, я вижу следующий вывод:

------ Discover test started ------
[xUnit.net 00:00:00.6641444]   Discovering: Namespace.Testing
[xUnit.net 00:00:01.7346388]   Discovered:  Namespace.Testing
========== Discover test finished: 255 found (0:00:02.2705091) ==========
------ Run test started ------
[xUnit.net 00:00:00.7718801]   Discovering: Namespace.Testing
[xUnit.net 00:00:01.9540699]   Discovered:  Namespace.Testing
[xUnit.net 00:00:02.6006763]   Starting:    Namespace.Testing
[xUnit.net 00:00:13.1270643]   Finished:    Namespace.Testing
========== Run test finished: 255 run (0:00:17.5635971) ==========

По-видимому, выполняется шаг «Обнаружение теста» и шаг «Выполнение теста», где шаги «Обнаружение» и «Обнаружение» выполняются для каждого шага, что создает впечатление, что они выполняются дважды.

Мне любопытно, запускается ли это по дизайну или у меня где-то есть ошибочная настройка, которая вызывает такое поведение. Мне кажется (или можно было бы ожидать), что «Обнаружение/Обнаружение» будет происходить только один раз за прогон. Как вы можете видеть, это добавляет дополнительные 2 секунды к каждому запуску, и я хотел бы избежать этого, если это возможно.


person Mike-E    schedule 23.12.2015    source источник
comment
Вы когда-нибудь выясняли, что с ним происходит?   -  person daniel    schedule 14.06.2016
comment
Еще нет, @daniel. :(   -  person Mike-E    schedule 14.06.2016
comment
Похоже, что первое обнаружение происходит, когда окно Test Explorer пытается обнаружить тесты, а второе — из средства запуска XUnit Visual Studio.   -  person daniel    schedule 15.06.2016
comment
Красавчик @daniel! Это так же хорошо, как любое предложение/идея/наблюдение, которое я накопил за те шесть месяцев, что этот вопрос висит там. Добавьте ответ, и я отмечу его как таковой. :)   -  person Mike-E    schedule 15.06.2016


Ответы (1)


Первое «Обнаружение» исходит от «Проводника тестов», пытающегося обнаружить тесты.

А второй — из «XUnit Visual Studio Runner».

При запуске теста, например. TFS Server, он запустит «Discovery» только один раз.

person daniel    schedule 20.06.2016