Capítulo 330 de 456
Setup de Vitest + React Testing Library para Unit Testing no Next.js, como alternativa mais rápida ao Jest.
@vitejs/plugin-react: plugin necessário para Vitest processar JSX/React.vite-tsconfig-paths: resolve os path aliases do tsconfig.json dentro do Vitest (só necessário em projetos TypeScript).defineConfig de vitest/config: função de config, com test.environment: 'jsdom' para simular DOM.vitest/npm run test fica observando mudanças automaticamente.import { defineConfig } from 'vitest/config'
import react from '@vitejs/plugin-react'
import tsconfigPaths from 'vite-tsconfig-paths'
export default defineConfig({
plugins: [tsconfigPaths(), react()],
test: { environment: 'jsdom' },
})
import { expect, test } from 'vitest'
import { render, screen } from '@testing-library/react'
import Page from '../pages/index'
test('Page', () => {
render(<Page />)
expect(screen.getByRole('heading', { level: 1, name: 'Home' })).toBeDefined()
})
async com Vitest: não suportado; usar E2E (Cypress/Playwright) para esse caso.@vitejs/plugin-react e environment: 'jsdom', diferente do next/jest que já vem pronto.npm run test.test, expect, render, screen).next/jest, mais "batteries included".async Server Components, fora do escopo do Vitest.