[英]How to solve issue in jest unit test?
我有一個針對ReactJs / Typescript項目的單元測試,該項目具有對名為nock.js的模塊的引用,並使用jest:
import nock from 'nock'
...
afterEach(() => {
nock.cleanAll();
})
當我運行測試時,.cleanAll語句中出現錯誤:
TypeError: nock_1.default is not a function
但是,當我將import語句更改為:
var nock = require('nock');
問題已解決。 我如何仍可以使用import代替require? 開玩笑的配置是否有問題? 這是配置:
"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'
我遇到了同樣的問題,並通過在tsconfig.json
添加以下配置來tsconfig.json
:
{
...
"esModuleInterop": true
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.