OxL Справочник OxL
РусскийEnglish

18.1 Объявление теста

oxl
@tag(slow, db)
test integ "order flow" with cluster(nodes: 3) { … }

Форма: атрибуты* test вид? "имя" (with окружение, …)? (seeds диапазон)? { тело }.

ВидНазначение
(нет) / unitобычный тест в процессе
integс окружением: кластер в процессе, базы, топики
simдетерминированная симуляция (§18.4)
contractсовместимость клиента и сервера разных версий схем
abA/B-эксперимент (§18.5)
benchмикробенчмарк
fuzzфаззинг по типам параметров
  • Имя теста уникально в пакете. Полное имя — модуль::имя.
  • Тесты и объявления с @test_only не попадают в сборку без oxl test.
  • @tag(…) — произвольные метки для отбора (часть III). @skip("причина") — пропуск; @flaky(retries: n) — повтор при падении с пометкой в отчёте.
  • Юнит-тест выполняется как узел с неявной ролью all и встроенным хранилищем в памяти: сервисы вызываются в процессе, шардированные акторы создаются локально.
  • Тело теста МОЖЕТ использовать ?: ошибка проваливает тест с выводом ошибки и трассы.
  • asUser(id) { … }, asService(name) { … } — выполнить блок от имени принципала.

test-decl

См. также

Исходник: docs/spec/oxl-standard.md