Что изменилось
-
Изолированный набор отдаёт результаты по ходу исполнения (#35). Раньше набор с
&Изолированныйотдавал результаты одним куском после завершения своей среды: пока шёл дочерний прогон, в выводе была тишина, а потом весь набор появлялся разом. Теперь тесты изолированного набора появляются в дереве по мере выполнения, как у обычного.- Время тестов изолированного набора — настоящее, измеренное там, где тест выполнялся. Раньше показывалось время доставки результата, 0–1 мс, и по логу нельзя было понять, что тормозит.
- Дерево правильно отмечает последний тест набора: раньше каждый тест изолированного набора помечался
└─. - Если дочерний процесс умер посреди набора, результаты уже выполненных тестов сохраняются, а прерванный тест ломается с выводом процесса. Раньше терялся весь набор.
- Если сообщение изолированной среды потерялось по дороге, набор ломается с явной причиной, а не остаётся зелёным без результата.
-
Консоль больше не рвёт дерево прогона пустыми строками (#35). CLI получает вывод дочернего прогона порциями, и на каждом стыке порций печаталась лишняя пустая строка, а строка, оборванная посреди порции, распадалась надвое. Заметнее всего это было перед каждым изолированным набором. Теперь печатаются только целые строки.
Совместимость
- Требуется OneScript 2.2.0. Изолированная среда передаёт события строками JSON с экранированием символов вне ASCII, а до 2.2.0
ЗаписьJSONв этом режиме экранировала дважды, и кириллические имена наборов и тестов не доходили целыми (EvilBeaver/OneScript#1714).
Под капотом
- Сериализация результатов вынесена в
ПереносРезультатов: JSON-отчёт прогона и трансляция изолированной среды пишут записи одним кодом. - Для изолированного набора дочерний прогон больше не формирует JSON-отчёт — результаты приходят трансляцией. Изолированный тест по-прежнему получает результат из отчёта, но теперь с временем, измеренным в дочерней среде.
ЗапускательТестирования.ПараметрыЗапуска()получилТрансляцияСобытий, аЛогВыводапринимает любой объект с методамиИнформацияиОшибка.
Full Changelog: v0.5.1...v0.5.2