В этой статье упоминается, что для ускорения тестов постер запускает несколько экземпляров NUnit с параметрами команды, определяющими, какие тесты должен запускать каждый экземпляр.
FTA:
Я столкнулся со странной проблемой.
Мы используем nunit-console для запуска теста на нашем сервере непрерывной интеграции.Недавно мы переходили с Nunit 2.4.8 на 2.5.5 и с .Net 3.5 на 4.0.Чтобы ускорить выполнение теста, мы запускаем несколько экземпляров Nunit параллельно с разными аргументами командной строки
- У нас есть две копии наших тестовых сборок и двоичных файлов в папках A и B.
- В папке A мы выполняем
nunit-console-x86.exe Model.dll Test.dll / исключаем: MyCategory /xml=TestResults.xml /framework=net-4.0 / noshadow
nunit-console-x86.exe Model.dll Test.dll / include: MyCategory /xml=TestResults.xml /framework=net-4.0 / noshadow
Если мы выполняем команды последовательно, обе команды запускаются успешно.Но если мы выполним их параллельно, это удастся только одному.Насколько я могу судить, именно он первым загружает тестовые приборы.Другой сбой с сообщением «Невозможно найти прибор».
Эта проблема уже известна?Я не смог найти ничего связанного в списке ошибок на панели запуска.Кстати, наш сервер работает под управлением Windows Server 2008 64-bit.Я также мог бы воспроизвести проблему в 64-разрядной версии Windows 7.
Предполагая, что эта ошибка исправлена или вы не используете более новую версию (-и) упомянутого программного обеспечения, вы должны быть в состоянии повторить их технику..
Обновление
TeamCity выглядит как инструмент, который можно использовать для автоматического запуска тестов NUnit.У них есть модуль запуска NUnit , обсуждаемый здесь , который можно использовать для запуска нескольких экземпляров NUnit. Здесь - это запись в блоге, в которой обсуждается объединение нескольких результатов NUnit XML в один файл результатов.
Таким образом, теоретически вы можете заставить TeamCity автоматически запускать несколько тестов NUnit на основе того, что вы хотите разделитьрабочая нагрузка, а затем объединить результаты в один файл для обработки после тестирования.
Достаточно ли это автоматизировано для ваших нужд?