18.1 Объявление теста
@tag(slow, db)
test integ "order flow" with cluster(nodes: 3) { … }Форма: атрибуты* test вид? "имя" (with окружение, …)? (seeds диапазон)? { тело }.
| Вид | Назначение |
|---|---|
(нет) / unit | обычный тест в процессе |
integ | с окружением: кластер в процессе, базы, топики |
sim | детерминированная симуляция (§18.4) |
contract | совместимость клиента и сервера разных версий схем |
ab | A/B-эксперимент (§18.5) |
bench | микробенчмарк |
fuzz | фаззинг по типам параметров |
- Имя теста уникально в пакете. Полное имя —
модуль::имя. - Тесты и объявления с
@test_onlyне попадают в сборку безoxl test. @tag(…)— произвольные метки для отбора (часть III).@skip("причина")— пропуск;@flaky(retries: n)— повтор при падении с пометкой в отчёте.- Юнит-тест выполняется как узел с неявной ролью
allи встроенным хранилищем в памяти: сервисы вызываются в процессе, шардированные акторы создаются локально. - Тело теста МОЖЕТ использовать
?: ошибка проваливает тест с выводом ошибки и трассы. asUser(id) { … },asService(name) { … }— выполнить блок от имени принципала.
Связанные диагностики
См. также
Исходник: docs/spec/oxl-standard.md