Skip to content
Beskid The Beskid Book

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

08.1 Test items in source

Declare Beskid tests beside the code they lock down—meta, skip, and project kinds.

Test items in source

Beskid tests are first-class source items, not comments you forgot to delete and not a separate DSL file that drifts every sprint.

Normative syntax is in Testing:

test ParseFast {
meta {
tags = "fast,parser";
group = "analysis.parser";
timeout = 30;
}
skip {
condition = false;
reason = "flip to true when the parser is on fire again";
}
return;
}
  • test Name { body } — test entry point; the name is followed directly by the body block (statements plus allowed meta / skip sections).
  • meta — tags, hierarchical group, timeouts, and future fixture hooks.
  • skip — when condition is true, the runner records skipped (not failed) and does not execute the body.
  • Test project kinds are the natural home; placing tests in App/Lib projects may warn per manifest policy (see project manifest).
  • Discovery walks parsed compilation units—top-level and inline modules—so keep tests near the behavior they pin.
FieldUse
tagsExecution intent: fast, slow, integration, flaky (honesty badge)
groupOwnership prefix: analysis.parser, cli.test — powers --group filtering

Stable names beat cute ones: ResolverDuplicateNames survives code search; Test1 does not.

The beskid test CLI