Modern.js 默认继承了 Jest 的测试能力。
我们首先需要执行 pnpm run new
启用「单元测试 / 集成测试」功能:
? 请选择你想要的操作: 启用可选功能
? 启用可选功能: 启用「单元测试 / 集成测试」功能
执行上述命令后,package.json
中将会自动生成 "test": "modern test"
命令。
在 modern.config.ts
中注册 Test 插件:
import testPlugin from '@modern-js/plugin-testing';
export default defineConfig({
...,
plugins: [..., testPlugin()],
});
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 进行配置。