-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
When two independent test.extend calls define file-scoped fixtures with the same key, the second one silently reuses the first's cached value instead of running its own fixture.
const myTest1 = test.extend<{ value: string }>({
value: [async ({}, use) => { await use('first-value') }, { scope: 'file' }]
})
const myTest2 = test.extend<{ value: string }>({
value: [async ({}, use) => { await use('second-value') }, { scope: 'file' }]
})
myTest1('test1', ({ value }) => {
expect(value).toBe('first-value')
})
myTest2('test2', ({ value }) => {
expect(value).toBe('first-value') // should be `second-value`
})Reproduction
https://stackblitz.com/edit/vitest-dev-vitest-cmeatr7q?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: 20.19.1 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 10.8.2 - /usr/local/bin/npm
pnpm: 8.15.6 - /usr/local/bin/pnpm
npmPackages:
vite: latest => 7.3.1
vitest: beta => 4.1.0-beta.2Used 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.
Reactions are currently unavailable
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)