Vitest
From Order of Operation with Describe: All 'describe' logic prior to all 'it'
Go to text ā
The logic within the describe blocks is executed BEFORE any of the IT blocks are touched.
Think of describe logic as declaration that that gets processed before any of the IT implementation logic runs.
GT-Sandbox-Snapshot
Code
import { describe, it, expect, test } from 'vitest';
describe('describe-level-1', () => {
console.log("STDOUT: describe-level-1 pre it level-1");
it('it-level-1', () => {
console.log("STDOUT: it-level-1");
});
console.log("STDOUT: describe-level-1 post it level-1");
describe('describe-level-2a', () => {
console.log("STDOUT: describe-level-2a");
it('it-level-2a', () => {
console.log("STDOUT: it-level-2a");
});
describe('describe-level-3', () => {
console.log("STDOUT: describe-level-3");
it('it-level-3 1', () => {
console.log("STDOUT: it-level-3 #1");
});
it('test-level-3 2', () => {
console.log("STDOUT: it-level-3 #2");
});
});
});
describe('describe-level-2b', () => {
console.log("STDOUT: describe-level-2b");
it('it-level-2b', () => {
console.log("STDOUT: it-level-2b");
});
});
});
Command to reproduce:
gt.sandbox.checkout.commit e18ef826fc7c3038372d \
&& cd "${GT_SANDBOX_REPO}" \
&& cmd.run.announce "./run.sh"
Recorded output of command:
> vitest run
stdout | unknown test
STDOUT: describe-level-1 pre it level-1
STDOUT: describe-level-1 post it level-1
STDOUT: describe-level-2a
STDOUT: describe-level-3
STDOUT: describe-level-2b
stdout | src/main.test.ts > describe-level-1 > it-level-1
STDOUT: it-level-1
stdout | src/main.test.ts > describe-level-1 > describe-level-2a > it-level-2a
STDOUT: it-level-2a
ā src/main.test.ts (5 tests) 2ms
stdout | src/main.test.ts > describe-level-1 > describe-level-2a > describe-level-3 > it-level-3 1
STDOUT: it-level-3 #1
stdout | src/main.test.ts > describe-level-1 > describe-level-2a > describe-level-3 > test-level-3 2
STDOUT: it-level-3 #2
stdout | src/main.test.ts > describe-level-1 > describe-level-2b > it-level-2b
STDOUT: it-level-2b
Test Files 1 passed (1)
Tests 5 passed (5)
Start at 15:38:08
Duration 512ms (transform 26ms, setup 0ms, collect 10ms, tests 2ms, environment 0ms, prepare 47ms)
Children