Přejít k navigační liště

Zdroják » Webdesign » Vitest 4.0 – nové vizuální testování, lepší debugging a stabilní Browser Mode

Vitest 4.0 – nové vizuální testování, lepší debugging a stabilní Browser Mode

Nová verze Vitest 4.0 posouvá hranice testování webových aplikací. Přináší stabilní běh testů přímo v prohlížeči, podporu vizuálního regresního testování i chytřejší práci s lokátory a typováním. Vývojáři tak získávají robustnější, rychlejší a přehlednější nástroje pro zajištění kvality UI i logiky aplikací.

Testovací framework Vitest vydal svou nejnovější verzi 4.0, která přináší zásadní vylepšení pro vývojáře front-endu i plnohodnotné webové aplikace. Kromě lepší integrace s prohlížeči, nových matcherů a API změn přináší i vizuální regresní testování, které posouvá kvalitu testování UI o úroveň výš.

Co je nového?

Stabilní Browser Mode

Režim pro spouštění testů přímo v prohlížeči už není experimentální. Nainstalujte potřebný balíček, například:

npm install -D @vitest/browser-playwrightCode language: JavaScript (javascript)

Importujte kontext z nového umístění:

import { browser } from 'vitest/browser';Code language: JavaScript (javascript)

Příklad jednoduchého testu:

import { test, expect } from 'vitest';
import { page } from 'vitest/browser';

test('zkontrolujte správný titul stránky', async () => {
  await page.goto('https://example.com');
  const title = await page.title();
  expect(title).toBe('Example Domain');
});Code language: JavaScript (javascript)

Vizuální regresní testování

Využijte Visual Regression Testing pro kontrolu vzhledu komponent:

import { test, expect } from 'vitest';
import { page } from 'vitest/browser';

test('zkontrolujte vzhled hero sekce', async () => {
  await page.goto('/');
  const hero = page.getByTestId('hero');
  await expect(hero).toMatchScreenshot('hero-section');
});Code language: JavaScript (javascript)

Ověřte, zda je prvek viditelný v okně prohlížeče:

await expect(page.getByTestId('hero')).toBeInViewport();Code language: JavaScript (javascript)

Trace soubory a Playwright integrace

Zapněte trace soubory pro ladění kroků:

await page.goto('/');
await page.getByText('Learn More').click({ trace: 'on' });Code language: JavaScript (javascript)

Po dokončení testu otevřete trace v Playwright Trace Viewer.

Chytřejší locatory

Použijte locator pro práci s iframe:

const frame = page.frameLocator('#my-frame');
await expect(frame.getByText('Inside frame')).toBeInViewport();Code language: JavaScript (javascript)

Ověřte délku lokátorů:

const items = page.getByTestId('list-item');
await expect(items).toHaveLength(3);Code language: JavaScript (javascript)

Nové matchery a typování

expect.assert()

Ověřte vlastní logiku:

expect.assert((value: number) => value > 0, 5); 
// ověřuje, že hodnota je větší než 0Code language: JavaScript (javascript)

expect.schemaMatching()

Validujte data proti schématu (Zod, Valibot, ArkType):

import { z } from 'zod';

const UserSchema = z.object({
  name: z.string(),
  age: z.number(),
});

expect({
  name: 'Alice',
  age: 25,
}).schemaMatching(UserSchema);Code language: JavaScript (javascript)

test.extend()

Rozšiřte testovací kontext s typy:

const customTest = test.extend<{ token: string }>({
  token: async ({}, use) => {
    const token = await login();
    await use(token);
  },
});

customTest('využijte token', async ({ token }) => {
  expect(token).toBeDefined();
});Code language: JavaScript (javascript)

Lepší debugování

  • Používejte tlačítko Debug Test ve VS Code pro browser testy.
  • Spusťte Vitest s --inspect a připojte se do DevTools:
vitest --inspectCode language: Bash (bash)

Nové a změněné reportéry

  • Odstraňte basic reporter → použijte default se summary: false.
  • Aktivujte nový tree reporter:
vitest --reporter treeCode language: Bash (bash)

Zobrazí stromovou strukturu testů:

tests/
 ├─ auth.test.ts
 │   ├─ login should succeed
 │   └─ login should fail with wrong password
 └─ dashboard.test.ts
     └─ widgets render correctlyCode language: plaintext (plaintext)
  • Používejte verbose reporter pro výpis testů jeden po druhém i lokálně.

⚠️ Změny, které mohou ovlivnit projekty ⚠️

Vitest 4 je major release, takže některé změny nejsou zpětně kompatibilní.
Před upgradem:

Shrnutí

Vitest 4.0 výrazně zlepšuje testování front-endu. Stabilní browser mode, vizuální testy, lepší typování a nové nástroje pro debugování z něj dělají univerzální framework pro moderní webové aplikace.

Pokud vyvíjíte aplikace s UI nebo komponentovým systémem, přechod na 4.0 je doporučený.

Více informací: vitest.dev/blog/vitest-4

Komentáře

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře

Strategie a AI jako klíč. Do Prahy přijely špičky technologického světa

WebExpo 2025 ukázalo, jak se tvoří budoucnost. Třídenní technologická konference WebExpo 2025 přivedla do Prahy světové i české experty, kteří nabídli inspiraci napříč obory. Hlavním tématem byla propojenost disciplín, význam AI a potřeba otevřenosti vůči novým výzvám – včetně podpory legální imigrace. Ukázalo se, že inovace vznikají nejen v Silicon Valley, ale i tam, kde se nebojíme myslet jinak.