Test reports in MyST

The MyST forms of the specimens on Test reports: the directives, each rendered live by this page’s own Markdown parser. Their needs carry ids of their own, because a need id must be unique in the project.

A report, a suite and a case

A report, a suite and a case

```{test-file} Greeter report
:file: greeter.xml
:id: EX_TF_MYST_GREETER

The unit tests of the greeter.
```

```{test-suite} Greeter suite
:file: greeter.xml
:suite: greeter
:id: EX_TS_MYST_GREETER
:links: EX_TF_MYST_GREETER
```

```{test-case} Greeting
:file: greeter.xml
:suite: greeter
:case: test_greet
:id: EX_TC_MYST_GREET
:links: EX_TS_MYST_GREETER

Why this case matters.
```
Test-File: Greeter report EX_TF_MYST_GREETER
file: greeter.xml
suites: 1
cases: 2
passed: 1
skipped: 0
failed: 1
errors: 0
links incoming: EX_TS_MYST_GREETER

The unit tests of the greeter.

Test-Suite: Greeter suite EX_TS_MYST_GREETER
file: greeter.xml
suite: greeter
cases: 2
passed: 1
skipped: 0
failed: 1
errors: 0
links outgoing: EX_TF_MYST_GREETER
links incoming: EX_TC_MYST_GREET
Test-Case: Greeting EX_TC_MYST_GREET
style: tr_passed
file: greeter.xml
suite: greeter
case: test_greet
case_name: test_greet
time: 0.01
result: passed
links outgoing: EX_TS_MYST_GREETER

Why this case matters.

A failing case

A failing case

```{test-case} Farewell
:file: greeter.xml
:suite: greeter
:case: test_farewell
:id: EX_TC_MYST_FAREWELL

The farewell wording is part of the greeter's contract.
```
Test-Case: Farewell EX_TC_MYST_FAREWELL
style: tr_failed
file: greeter.xml
suite: greeter
case: test_farewell
case_name: test_farewell
time: 0.01
result: failed

The farewell wording is part of the greeter’s contract.

Text::

assert farewell(“Ada”) == “Goodbye, Ada!”

Message::

‘Bye, Ada!’ != ‘Goodbye, Ada!’

A Sphinx build parses the evidence it appends to a MyST body as MyST, so its literal block does not render as one (The test-report directives).

A need per suite and per case

A need per suite and per case

```{test-file} Greeter report, expanded
:file: greeter.xml
:id: EX_TF_MYST_AUTO
:auto_suites:
:auto_cases:
```
Test-File: Greeter report, expanded EX_TF_MYST_AUTO
file: greeter.xml
suites: 1
cases: 2
passed: 1
skipped: 0
failed: 1
errors: 0
Test-Suite: greeter EX_TF_MYST_AUTO_7F9
file: greeter.xml
suite: greeter
cases: 2
passed: 1
skipped: 0
failed: 1
errors: 0
Test-Case: test_greet EX_TF_MYST_AUTO_7F9_65652
style: tr_passed
file: greeter.xml
suite: greeter
case: test_greet
case_name: test_greet
classname: tests.test_greeter
time: 0.01
result: passed
Test-Case: test_farewell EX_TF_MYST_AUTO_7F9_20522
style: tr_failed
file: greeter.xml
suite: greeter
case: test_farewell
case_name: test_farewell
classname: tests.test_greeter
time: 0.01
result: failed

Text::

assert farewell(“Ada”) == “Goodbye, Ada!”

Message::

‘Bye, Ada!’ != ‘Goodbye, Ada!’

Results tables

A results table

```{test-results} greeter.xml
```

greeter

Tests: 2, Failures: 1, Errors: 0, Skips: 0

Time: 0.02

class

name

status

reason

tests.test_greeter

test_greet

passed

tests.test_greeter

test_farewell

failed

‘Bye, Ada!’ != ‘Goodbye, Ada!’ assert farewell(“Ada”) == “Goodbye, Ada!”

Environment tables

An environment table

```{test-env} greeter-env.json
:env: py313
:data: platform, python
```

py313

Variable

Data

platform

linux

python

3.13.1