Test Case Formats

Test Case Formats

Every test case has a Format, chosen when the case is created: Standard, Gherkin, or Flow. The Format decides how the case is written and executed; it is set at creation and does not change afterwards.


The three formats#

StandardGherkinFlow
How you write itA numbered list of steps, each with an action and an expected resultOne block of Given/When/Then text — the text is the source of truthAn interactive graph where the next step is chosen by each step's result
How it runsThe tester works the list top to bottom and records one result for the caseThe text is expanded into steps (one block per scenario or example row); one result for the caseThe tester interacts with each step; the path through the graph is recorded
Best forThe bulk of your library — clear, reviewable proceduresBDD-style teams sharing readable scenarios with stakeholders; Scenario Outlines for parameterized pathsExploratory or branching journeys where the path depends on what happens

Standard#

The default. Steps have an action and an expected result, support rich formatting, and can include text-only preconditions that show wherever the steps do. Full detail in the User Guide.

Gherkin#

Plain Given/When/Then text; Lathe derives the executable steps from the text on every save. Supports Scenario Outline with Examples (each row runs as its own block), Background, @tags mapped to coverage tags, data tables, and doc strings. Everything — writing, running, importing .feature files and TestRail BDD, exporting — is covered in Gherkin.

Flow#

A dynamic format for cases where the path isn't fixed: you build a graph of steps, and each step's result decides which step is offered next. The tester follows the path the product actually takes, and the taken path is recorded on the execution.

One result per case#

All three formats share the execution model: a case gets one pass/fail result per run, and the tester uses the note to point at what failed — a step number, a line, or an example row. (Per-step pass/fail is on the roadmap as a future feature.)