Modern.js 默认集成了 Jest 的测试能力。
我们首先需要执行 pnpm run new
启用「单元测试 / 集成测试」功能:
? 请选择你想要的操作 启用可选功能
? 请选择功能名称 启用「单元测试 / 集成测试」功能
执行上述命令后,package.json
中将会自动添加 "test": "modern test"
命令。
在 modern.config.ts
中注册 @modern-js/plugin-testing
插件后即可使用测试功能:
import { testingPlugin } from '@modern-js/plugin-testing';
export default defineConfig({
...,
plugins: [..., testingPlugin()],
});
Modern.js 默认识别的测试文件路径为:<rootDir>/src/**/*.test.[jt]s?(x)
和 <rootDir>/tests/**/*.test.[jt]s?(x)
。
如果你需要自定义 test 目录,可通过 tools.jest 进行配置。
Modern.js test 支持使用 testing-library 相关包 API,可直接通过 @modern-js/runtime/testing
进行导入:
import { render, screen } from '@modern-js/runtime/testing';
其他 Modern.js 支持的 testing API 可参考这里。
Modern.js 测试默认使用 babel-jest 进行源码编译,如果你需要使用 ts-jest,可以通过 testing.transform 进行配置。