Что изменилось
-
Прекращение прогона на первом падении (#31). Опция
oneunit execute --failFastостанавливает прогон, как только что-то упало — там, где нужен ответ «зелено или нет», а не полная картина: проверка коммита, мутационное тестирование, локальный цикл правка-прогон.Прогон именно прекращается, а не обрывается: набор, в котором упал тест, сворачивается штатно —
ПослеКаждогоиПослеВсехотрабатывают, и открытые ими файлы, соединения и временные каталоги закрываются.Останавливает любое падение, откуда бы оно ни пришло: тест обычного набора, изолированный тест, тесты изолированного набора, набор со сломанным конструктором или
ПередВсеми, таймаут. Пропущенные и прерванные тесты прогон не останавливают — они ничего не говорят о работоспособности кода.То, до чего прогон не дошёл, не пропадает из отчётов: наборы и тесты за точкой остановки попадают в них пропущенными с причиной «Прогон прекращён на первом падении».
Той же настройкой управляет деталька
OneUnit.ПрерыватьПриПервомПадении— для тех, кто поднимает прогон программно. MCP-инструментrun_testsполучил параметрfail_fast.Подробности — в разделе 2.1.3 Прекращение прогона на первом падении.
-
Каталог ядра прогона задаётся параметром запуска (#30). У
ЗапускательТестирования.ПараметрыЗапуска()появилсяКаталогЯдра: прогон можно выполнить ядром чужой поставки.Нужно приложениям, которые поставляют OneUnit внутри себя, но прогоняют чужие тесты, — тесты проекта тогда выполняются тем ядром, на которое проект рассчитан, а не тем, что принесло с собой вызывающее приложение. Пустое значение сохраняет прежнее поведение. Изолированные дочерние прогоны выбор ядра наследуют сами.
Развязка при этом частичная: точку входа по-прежнему строит вызывающее приложение, и дерево зависимостей прогона остаётся его — подробности в описании параметра.
Full Changelog: v0.4.1...v0.5.0