测试

Modern.js 默认继承了 Jest 的测试能力。

我们首先需要执行 pnpm run new 启用「单元测试 / 集成测试」功能:

? 请选择你想要的操作: 启用可选功能
? 启用可选功能: 启用「单元测试 / 集成测试」功能

执行上述命令后,package.json 中将会自动生成 "test": "modern test" 命令。

modern.config.ts 中注册 Test 插件:

modern.config.ts
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 可参考这里

transform

Modern.js 测试默认使用 babel-jest 进行源码编译,如果你需要使用 ts-jest,可以通过 testing.transform 进行配置。

,