Vitest: Testes Modernos

Vitest é uma ferramenta moderna e rápida para testes em Vue.js, com compatibilidade total com Jest.

Configuração

// vitest.config.js
import { defineConfig } from 'vitest/config';
import vue from '@vitejs/plugin-vue';

export default defineConfig({
    plugins: [vue()],
    test: {
        environment: 'jsdom',
    },
});

Testando Componentes

// Counter.spec.js
import { mount } from '@vue/test-utils';
import Counter from './Counter.vue';

describe('Counter', () => {
    it('increments count when button is clicked', async () => {
        const wrapper = mount(Counter);
        
        expect(wrapper.text()).toContain('0');
        
        await wrapper.find('button').trigger('click');
        
        expect(wrapper.text()).toContain('1');
    });
});

Mocks

import { vi } from 'vitest';

const mockFetch = vi.fn(() =>
    Promise.resolve({
        json: () => Promise.resolve({ data: 'test' })
    })
);

global.fetch = mockFetch;