github sfaqer/OneUnit v0.5.2

3 hours ago

Что изменилось

  • Изолированный набор отдаёт результаты по ходу исполнения (#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

Don't miss a new OneUnit release

NewReleases is sending notifications on new releases.