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 allowedmeta/skipsections).meta— tags, hierarchicalgroup, timeouts, and future fixture hooks.skip— whenconditionis true, the runner records skipped (not failed) and does not execute the body.
Where tests live
Section titled “Where tests live”- 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.
Tags and groups (practical)
Section titled “Tags and groups (practical)”| Field | Use |
|---|---|
tags | Execution intent: fast, slow, integration, flaky (honesty badge) |
group | Ownership prefix: analysis.parser, cli.test — powers --group filtering |
Stable names beat cute ones: ResolverDuplicateNames survives code search; Test1 does not.