我有一个 ReactJs/Typescript 项目的单元测试,它引用了一个名为 nock.js 的模块,并使用了 jest:
import nock from 'nock'
...
afterEach(() => {
nock.cleanAll();
})
当我运行测试时,.cleanAll 语句中出现错误:
TypeError: nock_1.default is not a function
然而,当我将导入语句更改为:
var nock = require('nock');
问题已解决。我如何仍然使用 import 而不是 require ?这是 Jest 配置的问题吗?这是配置:
"jest": {
"transform": {
"^.+\\.(ts|tsx)$": "<rootDir>/node_modules/ts-jest/preprocessor.js"
},
"moduleFileExtensions": [
"ts",
"tsx",
"js"
],
"testRegex": "/__tests__/.*\\.(ts|tsx|js)$"
},
最佳答案
如果模块有默认导出,您可以使用:
import nock from 'nock'
但如果它没有默认导出,则需要使用:
import * as nock from 'nock'
关于javascript - 如何解决开 Jest 单元测试中的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46524549/