Skip to content
Beskid The Beskid Book

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Testing Framework

How to author, tag, skip, filter, and run Beskid tests.

Testing Framework

This guide describes the practical workflow for Beskid test harness usage.

Language-level syntax is normative in /platform-spec/language-meta/contracts-and-effects/testing/.

test ParseFast {
meta {
tags = "fast,parser";
group = "analysis.parser";
}
skip {
condition = false;
reason = "set true to disable temporarily";
}
return;
}

Recommended conventions:

  • use stable, descriptive names (ParseFast, ResolverDuplicateNames)
  • keep tags focused on execution intent (fast, slow, integration)
  • use group for hierarchical ownership (analysis.parser, cli.test)
  • always provide a skip.reason when a test is intentionally disabled

Use the CLI test command:

Terminal window
beskid test path/to/file.bd

Filtering:

Terminal window
beskid test path/to/file.bd --include-tag fast --group analysis
beskid test path/to/file.bd --exclude-tag slow

Machine-readable output:

Terminal window
beskid test path/to/file.bd --json

The test command reports:

  • passed
  • failed
  • skipped
  • filtered_out

skip.condition = true produces skipped before execution.

Corelib assertion primitives live in docs/corelib/Testing/.