32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import { defineConfig } from 'vitest/config';
|
||
import react from '@vitejs/plugin-react';
|
||
|
||
/**
|
||
* 组件测试配置。
|
||
*
|
||
* 与 vite.config.ts 分开:那份是构建与开发服务器的配置,插件链和 test 段混在
|
||
* 一起时 `vite build` 也会解析 jsdom 这些只有测试才需要的依赖。
|
||
*
|
||
* 只跑 test/components/ 下的用例。test/ 顶层那几个(markdown-xss、
|
||
* narrow-layout)是 node:test / 手写断言脚本,由 `npm test` 直接用 node 跑 ——
|
||
* 它们不需要 DOM,套一层 vitest 只是变慢。
|
||
*/
|
||
export default defineConfig({
|
||
// 测试必须使用含 act() 的 React 开发构建;宿主进程可能继承 NODE_ENV=production。
|
||
define: {
|
||
'process.env.NODE_ENV': JSON.stringify('test')
|
||
},
|
||
plugins: [react()],
|
||
test: {
|
||
include: ['test/components/**/*.test.tsx'],
|
||
environment: 'jsdom',
|
||
globals: true,
|
||
setupFiles: ['test/components/setup.ts'],
|
||
// 每个文件跑完清掉 DOM 与 mock,避免上一个用例的残留影响下一个
|
||
restoreMocks: true,
|
||
clearMocks: true,
|
||
unstubEnvs: true,
|
||
unstubGlobals: true
|
||
}
|
||
});
|