Anotace testů
Vitest podporuje anotování testů vlastními zprávami a soubory pomocí API context.annotate
. Tyto anotace budou připojeny k testovacímu případu a předány reportérům v rámci hooku onTestAnnotate
.
test('hello world', async ({ annotate }) => {
await annotate('this is my test');
if (condition) {
await annotate("this should've errored", 'error');
}
const file = createTestSpecificFile();
await annotate('creates a file', { body: file });
});
WARNING
Funkce annotate
vrací Promise, takže je třeba na ni počkat (použít await
), pokud na ní nějak závisíte. Vitest však také automaticky počká na jakoukoli anotaci, na kterou se nečekalo, před dokončením testu.
V závislosti na vašem reportéru se tyto anotace zobrazí odlišně.
Vestavěné reportéry
default
Reportér default
tiskne anotace pouze tehdy, když test selže:
⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯
FAIL example.test.js > an example of a test with annotation
Error: thrown error
❯ example.test.js:11:21
9 | await annotate('annotation 1')
10| await annotate('annotation 2', 'warning')
11| throw new Error('thrown error')
| ^
12| })
❯ example.test.js:9:15 notice
↳ annotation 1
❯ example.test.js:10:15 warning
↳ annotation 2
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯
verbose
V TTY terminálu funguje reportér verbose
podobně jako reportér default
. Avšak v prostředí bez TTY bude reportér verbose
tisknout anotace i po každém testu.
✓ example.test.js > an example of a test with annotation
❯ example.test.js:9:15 notice
↳ annotation 1
❯ example.test.js:10:15 warning
↳ annotation 2
html
HTML reportér zobrazuje anotace stejným způsobem jako UI. Anotaci uvidíte na řádku, kde byla volána. Momentálně, pokud anotace nebyla volána v testovacím souboru, není v UI viditelná. Plánujeme zavést podporu samostatného zobrazení souhrnu testů, kde bude viditelná.


junit
Reportér junit
uvádí anotace v rámci značky properties
testovacího případu. JUnit reportér bude ignorovat všechny přílohy a vypíše pouze typ a zprávu.
<testcase classname="basic/example.test.js" name="an example of a test with annotation" time="0.14315">
<properties>
<property name="notice" value="the message of the annotation">
</property>
</properties>
</testcase>
github-actions
Reportér github-actions
standardně vytiskne anotaci jako zprávu upozornění. Typ můžete nakonfigurovat předáním druhého argumentu jako notice
, warning
nebo error
. Pokud typ není ani jeden z uvedených, Vitest zobrazí zprávu jako upozornění.


tap
Reportéři tap
a tap-flat
vypisují anotace jako diagnostické zprávy na novém řádku začínajícím symbolem #
. Budou ignorovat všechny přílohy a vypíšou pouze typ a zprávu:
ok 1 - an example of a test with annotation # time=143.15ms
# notice: the message of the annotation