Skip to content
Vitest 3
Main Navigation Przewodnik & APIKonfiguracjaTryb przeglądarkiZaawansowane API
3.2.0
2.1.9
1.6.1
0.34.6

Polski

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Türkçe
čeština
magyar

Polski

English
简体中文
繁體中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Türkçe
čeština
magyar

Wygląd

Sidebar Navigation

Wprowadzenie

Dlaczego tryb przeglądarkowy

Tryb przeglądarkowy

Konfiguracja

Referencja konfiguracji przeglądarki

Konfigurowanie Playwright

Konfiguracja WebdriverIO

API

API kontekstowe

Interaktywne API

Lokatory

API asercji

Polecenia

Przewodnik

Wiele konfiguracji

Konfiguracja Vitest

Dokumentacja API testowego

Zaawansowane API

Na tej stronie

Wiele konfiguracji ​

Od Vitest 3 możliwe jest zdefiniowanie wielu różnych ustawień przeglądarki za pomocą nowej opcji browser.instances.

Główną zaletą używania browser.instances zamiast projektów testowych jest lepsze buforowanie. Każdy projekt będzie korzystał z tego samego serwera Vite, co oznacza, że transformacja plików i pre-bundling zależności muszą nastąpić tylko raz.

Kilka przeglądarek ​

Możesz użyć pola browser.instances, aby określić opcje dla różnych przeglądarek. Na przykład, jeśli chcesz uruchomić te same testy w różnych przeglądarkach, minimalna konfiguracja wygląda tak:

ts
import { defineConfig } from 'vitest/config';
export default defineConfig({
  test: {
    browser: {
      enabled: true,
      provider: 'playwright',
      headless: true,
      instances: [
        { browser: 'chromium' },
        { browser: 'firefox' },
        { browser: 'webkit' },
      ],
    },
  },
});

Różne konfiguracje ​

Możesz również określić różne ustawienia konfiguracyjne niezależnie od przeglądarki (chociaż instancje mogą również zawierać pola browser):

ts
import { defineConfig } from 'vitest/config';
export default defineConfig({
  test: {
    browser: {
      enabled: true,
      provider: 'playwright',
      headless: true,
      instances: [
        {
          browser: 'chromium',
          name: 'chromium-1',
          setupFiles: ['./ratio-setup.ts'],
          provide: {
            ratio: 1,
          },
        },
        {
          browser: 'chromium',
          name: 'chromium-2',
          provide: {
            ratio: 2,
          },
        },
      ],
    },
  },
});
ts
import { expect, inject, test } from 'vitest';
import { globalSetupModifier } from './example.js';

test('ratio works', () => {
  expect(inject('ratio') * globalSetupModifier).toBe(14);
});

W tym przykładzie Vitest uruchomi wszystkie testy w przeglądarce chromium, ale wykona plik './ratio-setup.ts' tylko w pierwszej konfiguracji i wstrzyknie inną wartość ratio w zależności od wartości pola provide.

WARNING

Należy pamiętać, że trzeba zdefiniować unikalną wartość name, jeśli używasz tej samej nazwy przeglądarki, ponieważ w przeciwnym razie Vitest przypisze nazwę przeglądarki jako nazwę projektu.

Filtrowanie ​

Możesz filtrować projekty, które mają być uruchamiane za pomocą flagi --project. Vitest automatycznie przypisze nazwę przeglądarki jako nazwę projektu, jeśli nie zostanie przypisana ręcznie. Jeśli konfiguracja główna ma już nazwę, Vitest je połączy: custom -> custom (browser).

shell
$ vitest --project=chromium
ts
export default defineConfig({
  test: {
    browser: {
      instances: [
        // nazwa: chromium
        { browser: 'chromium' },
        // nazwa: custom
        { browser: 'firefox', name: 'custom' },
      ]
    }
  }
})
ts
export default defineConfig({
  test: {
    name: 'custom',
    browser: {
      instances: [
        // nazwa: custom (chromium)
        { browser: 'chromium' },
        // nazwa: manual
        { browser: 'firefox', name: 'manual' },
      ]
    }
  }
})

WARNING

Vitest nie może uruchamiać wielu instancji, które mają headless ustawione na false (domyślne zachowanie). Podczas programowania możesz wybrać, który projekt uruchomić w terminalu:

shell
? Found multiple projects that run browser tests in headed mode: "chromium", "firefox".
Vitest cannot run multiple headed browsers at the same time. Select a single project
to run or cancel and run tests with "headless: true" option. Note that you can also
start tests with --browser=name or --project=name flag. › - Use arrow-keys. Return to submit.
❯   chromium
    firefox

Jeśli masz kilka projektów w trybie graficznym w CI (tj. headless: false jest ustawione ręcznie w konfiguracji i nie jest nadpisywane w środowisku CI), Vitest przerwie działanie bez uruchamiania testów.

To nie ma wpływu na możliwość uruchamiania testów w trybie headless. Nadal możesz uruchamiać wszystkie instancje równolegle, o ile nie mają headless: false.

Pager
Poprzednia stronaPolecenia
Następna stronaKonfiguracja Vitest

Opublikowano na licencji MIT.

Copyright (c) 2021-Present Vitest Team

https://vitest.dev/guide/browser/multiple-setups

Opublikowano na licencji MIT.

Copyright (c) 2021-Present Vitest Team