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#
| Standard | Gherkin | Flow | |
|---|---|---|---|
| How you write it | A numbered list of steps, each with an action and an expected result | One block of Given/When/Then text — the text is the source of truth | An interactive graph where the next step is chosen by each step's result |
| How it runs | The tester works the list top to bottom and records one result for the case | The text is expanded into steps (one block per scenario or example row); one result for the case | The tester interacts with each step; the path through the graph is recorded |
| Best for | The bulk of your library — clear, reviewable procedures | BDD-style teams sharing readable scenarios with stakeholders; Scenario Outlines for parameterized paths | Exploratory 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.)