我正在尝试在我的 ES6 javascript 项目中使用 jest 创建一个自动模拟。
我正在ubuntu 上使用 nodev15.0.1
和 jest 。26.6.0
18.04.5
我有一个包含以下代码的测试文件:
import RenderBuffer from './renderbuffer.js'
jest.mock('./renderbuffer.js');
beforeEach(() => {
RenderBuffer.mockClear();
});
Run Code Online (Sandbox Code Playgroud)
当我运行测试时,我遇到以下问题:
ReferenceError: require is not defined
4 |
5 | beforeEach(() => {
> 6 | RenderBuffer.mockClear();
| ^
7 | });
8 |
Run Code Online (Sandbox Code Playgroud)
这个错误让我感到惊讶,因为我没有使用 require 语句。
我的 package.json 配置包含以下内容:
"type": "module",
"main": "src/index.js",
"devDependencies": {
"jest": "^26.5.3",
"jest-canvas-mock": "^2.3.0"
},
"jest": {
"setupFiles": ["jest-canvas-mock"]
},
"scripts": {
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
"test-coverage": "node …
Run Code Online (Sandbox Code Playgroud)