名称: vitest 描述: Vitest 配置、模拟、覆盖率、快照测试和性能。 允许工具: 读取、写入、编辑、Bash、Glob、Grep
Vitest 技能
为使用 Vitest 进行单元和集成测试提供专家级协助。
能力
- 为项目配置 Vitest
- 编写单元和集成测试
- 实施模拟策略
- 配置覆盖率报告
- 优化测试性能
测试模式
import { describe, it, expect, vi, beforeEach } from 'vitest';
import { render, screen } from '@testing-library/react';
import { UserService } from './user.service';
describe('UserService', () => {
const mockDb = { user: { findMany: vi.fn() } };
beforeEach(() => {
vi.clearAllMocks();
});
it('应该获取用户', async () => {
mockDb.user.findMany.mockResolvedValue([{ id: '1', name: 'John' }]);
const service = new UserService(mockDb);
const users = await service.findAll();
expect(users).toHaveLength(1);
expect(mockDb.user.findMany).toHaveBeenCalledOnce();
});
});
配置
// vitest.config.ts
export default defineConfig({
test: {
globals: true,
environment: 'jsdom',
coverage: {
provider: 'v8',
reporter: ['text', 'html'],
},
},
});
目标流程
- 单元测试
- React 测试
- TDD 开发