Keyboard

↓ ↑
move between the rows you can see
→
open a feature, then step into it
←
close a feature, or step out to the one above
Enter
go to the page in focus
Tab
the same rows, plus everything else on the page
/
search the whole report
m
open or close the navigation drawer
Esc
leave the search box, or close the drawer
?
this list

Follows a @Scenario annotation to the column it names

All 3 scenarios hold

A published table carries more than its text. The reporter marks which column names the scenario, and which column holds the expectation. It also records how each row fared when it ran.

A mark needs somewhere to live, and the three formats put one in different places. HTML sets a class on the cell. AsciiDoc puts a role prefix on the value. Markdown has nowhere at all. The rules below therefore print the cell each format published, and never name the mark. A reader can then see the difference.

Each rule names the sample test class it reads. Its rows are the columns, or the rows, of that class's table.

The first column holds the scenario by convention, not by requirement. A test can take every column as a parameter and still name one of them the scenario. Annotate that parameter with @Scenario. The mark then follows the annotation, and not the position.

These rows read AnnotatedScenarioSample: Year | Case | Leap?, whose second parameter carries the annotation.

expected outcome broken scenario
ScenarioColumnIn markdown?In AsciiDoc?In HTML?
A column before the annotated oneYearYear++Year++<th class="cell"><span class="literal">Year</span></th>
The annotated columnCaseCase[.scenario]#++Case++#<th class="cell scenario"><span class="literal">Case</span></th>
The expectation is unaffectedLeap?Leap?[.expectation]#++Leap?++#<th class="cell expectation"><span class="literal">Leap?</span></th>