vitest icon indicating copy to clipboard operation
vitest copied to clipboard

`browser.instances[].includes` is ignored

Open AriPerkkio opened this issue 8 months ago • 1 comments

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

AriPerkkio avatar Apr 30 '25 13:04 AriPerkkio

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.

sheremet-va avatar May 02 '25 11:05 sheremet-va