Test Decorators
@merit.parametrize
Run a test with multiple parameter sets.argnames- Comma-separated parameter namesargvalues- List of parameter tuplesids(optional) - Custom test IDs
@merit.tag
Add tags to tests for organization and filtering.*tags- One or more tag strings
@merit.repeat
Run a test multiple times.count- Number of times to run the testmin_passes(optional) - Minimum passes required for success
@merit.resource
Define a reusable dependency (like pytest fixtures).scope- “test” (default) or “suite”
@merit.iter_cases
Run the same test logic on multipleCase objects.
cases- List ofCaseobjects
Core Classes
Case
Structured test case with input, references, metadata, and tags.sut_input_values- Input parameters for system under testreferences- Expected outputs or reference datatags- Set of tags for filteringmetadata- Arbitrary metadata dictionary
Utility Functions
valididate_cases_for_sut
Validate that cases match function signature.cases- List of cases to validatesut- Function to validate against
- Same list of cases (or raises error if invalid)
System Under Test
@merit.sut
Mark a function or class as a system under test for automatic tracing.Tracing
init_tracing
Initialize OpenTelemetry tracing.service_name- Name for this service in traces
trace_step
Create a custom trace span.name- Name of the trace span