-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Labels
p3-minor-bugAn edge case that only affects very specific usage (priority)An edge case that only affects very specific usage (priority)
Description
Describe the bug
My initial expectation was cleanup functions should be executed in a reverse order, i.e.
beforeEach(() => {
console.log('setup A');
return () => {
console.log('cleanup A');
};
});
beforeEach(() => {
console.log('setup B');
return () => {
console.log('cleanup B');
};
});
it('foo', () => {});should work like
beforeEach(() => {
console.log('setup A');
});
afterEach(() => {
console.log('cleanup A');
});
beforeEach(() => {
console.log('setup B');
});
afterEach(() => {
console.log('cleanup B');
});
it('foo', () => {});However, the 1st one outputs
setup A
setup B
cleanup A
cleanup B
and the 2nd one outputs
setup A
setup B
cleanup B
cleanup A
Reproduction
https://stackblitz.com/edit/vitest-dev-vitest-nzpkgksr?file=test%2Frepro.test.ts
System Info
System:
OS: Linux 5.0 undefined
CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
Memory: 0 Bytes / 0 Bytes
Shell: 1.0 - /bin/jsh
Binaries:
Node: 18.20.3 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 10.2.3 - /usr/local/bin/npm
pnpm: 8.15.6 - /usr/local/bin/pnpm
npmPackages:
@vitest/ui: latest => 3.0.5
vite: latest => 6.1.0
vitest: latest => 3.0.5Used Package Manager
npm
Validations
- Follow our Code of Conduct
- Read the Contributing Guidelines.
- Read the docs.
- Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
- The provided reproduction is a minimal reproducible example of the bug.
Metadata
Metadata
Assignees
Labels
p3-minor-bugAn edge case that only affects very specific usage (priority)An edge case that only affects very specific usage (priority)
Type
Projects
Status
Approved