2015-05-24 4 views
1

Используя nunit 2.6.4 и AutoMoqData, бегун Resharper, по-видимому, оценивает все параметры, которые должны быть переданы во все тесты перед выполнением одного теста, даже если все, что я хочу сделать запускается один тест/небольшой набор тестов. Прямо сейчас (у нас 1000 тестов) для запуска одного теста требуется 2-3 минуты, что не работает для TDD.AutoFixture AutoMoqData замедляется по мере добавления большего количества тестов

Я попытался переключиться на Xunit, чтобы узнать, была ли проблема nunit, и перед запуском первого теста все еще была большая задержка.

Ожидается ли такое поведение? Или мы делаем что-то неправильно?

+5

Можете ли вы поделиться решением, которое демонстрирует проблему? Один из них мы могли бы скачать локально и профиль? Это происходит с консольными бегунами? –

+1

AKA [SSCCE] (http://sscce.org). –

+1

Этого не ожидается. У меня есть различные тестовые комплекты с использованием AutoFixture и AutoMoqData, которые запускают около тысячи тестов менее чем за десять секунд на ультрабуке. –

ответ

0

Итак, результаты моего исследования состоят в том, что когда nunit обнаруживает тесты, он проходит через атрибуты и создает объекты, а nunit (2) обнаруживает все тесты, даже если вас интересует только запуск 1. По-видимому, это будет изменение в какой-то момент для nunit 3.

Сложный и крупный объектный граф был причиной того, что тесты замедлялись, и, настраивая Autofixture, чтобы грубо обрезать этот график, тесты теперь намного больше (260 с - 8 секунд) быстрее.

Я попытался использовать Autofixture.AutoEntityFramework, но, хотя он делал то, что я хотел, чтобы сделать это, увеличение скорости было недостаточно для эффективного TDD (260 с - около 100 секунд).