vitest
vitest copied to clipboard
`browser.instances[].includes` is ignored
Describe the bug
This configuration ends up running all tests with Firefox:
import { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
browser: {
enabled: true,
provider: 'playwright',
instances: [
// Run all tests with Chromium, it's stable
{ browser: "chromium" },
// Firefox is flaky, run just one test
{ browser: "firefox", include: ["test/something-simple.test.ts"] },
],
},
},
});
Reproduction
https://stackblitz.com/~/edit/vitest-browser-intances-includes-ignroed
Happens on latest too, but due to https://github.com/vitest-dev/vitest/issues/7913 reproducing the issue with 3.1.1 on Stackblitz.
System Info
System:
OS: Linux 5.0 undefined
CPU: (4) 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:
@vitest/browser: latest => 3.1.2
@vitest/ui: latest => 3.1.2
vite: latest => 6.3.4
vitest: latest => 3.1.2
Used Package Manager
pnpm
Validations
- [x] Follow our Code of Conduct
- [x] Read the Contributing Guidelines.
- [x] Read the docs.
- [x] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- [x] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
- [x] The provided reproduction is a minimal reproducible example of the bug.
I think it's not ignored, but merged with the existing one. That's how mergeConfig works, unfortunately. We should probably override these options manually, then.