У цій статті згадується, що для прискорення тестів плакат запускає декілька екземплярів NUnit із параметрами команд, що вказують, які тести повинен запускати кожен екземпляр.
ЗВТ:
Я зіткнувся з дивною проблемою.
Ми використовуємо nunit-console для запуску тесту на нашому сервері безперервної інтеграції. Нещодавно ми переходили з Nunit 2.4.8 на 2.5.5 і з .Net 3.5 на 4.0. Для прискорення виконання тесту ми запускаємо кілька екземплярів Nunit паралельно з різними аргументами командного рядка
- У нас є дві копії наших тестових збірок і бінарних файлів нунітів у папках A і B.
- У папці А ми виконуємо
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 / включає: MyCategory /xml=TestResults.xml /framework=net-4.0 / noshadow
Якщо ми виконуємо команди послідовно, обидва успішно запускаються. Але якщо ми виконуємо їх паралельно, це вдається лише одному. Наскільки я можу зрозуміти, це те, що першим завантажує тестові прилади. Інший не працює із повідомленням "Не вдається знайти пристрій".
Ця проблема вже відома? Я не зміг знайти нічого пов'язаного зі списком помилок на панелі запуску. До речі, наш сервер працює під керуванням Windows Server 2008 64-розрядної версії. Я також міг відтворити проблему в Windows 7 64-bit.
Якщо припустити, що ця помилка виправлена або ви не використовуєте новішу версію (-и) згаданого програмного забезпечення, ви повинні мати змогу відтворити її техніку.
Оновлення
TeamCity виглядає як інструмент, за допомогою якого можна автоматично запускати тести NUnit. У них є обговорена тут програма запуску NUnit, яка може бути використана для запуску декількох екземплярів NUnit. Ось допис у блозі, в якому обговорюється злиття декількох результатів NUnit XML в один файл результатів.
Тож теоретично ви можете мати можливість TeamCity автоматично запускати кілька тестів NUnit на основі, однак, якщо ви хочете розділити робоче навантаження, а потім об’єднати результати в один файл для обробки після тесту.
Це достатньо автоматизовано для ваших потреб?