用玩笑模拟请求时出现 TypeError
TypeError when mocking request with jest
我对 node 比较陌生,在尝试使用 jest 模拟 request
时遇到问题。
如果我要测试的文件有 require('request')
,我尝试 运行 npm test
,我得到这个错误:
FAIL __tests__/sum-test.js (0.291s)
● sum › it adds 1 + 2 to equal 3
- TypeError: The super constructor to `inherits` must have a prototype.
at Object.exports.inherits (util.js:756:11)
at Object.<anonymous> (node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/private-key.js:44:6)
at Object.<anonymous> (node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/utils.js:16:18)
这是我的 package.json,如果有帮助的话:
{
"name": "jesttest",
"version": "1.0.0",
"scripts": {
"test": "jest"
},
"devDependencies": {
"jest-cli": "^12.0.2"
},
"dependencies": {
"request": "^2.72.0"
}
}
有人知道为什么会这样吗?
在您的测试文件中添加 jest.unmock('request')
。
当你在 file.In 这种情况下需要某些东西时,Jest 会模拟一个假的 require 对象,请求不是真实的 request.So 告诉 jext 不是模拟请求。
我对 node 比较陌生,在尝试使用 jest 模拟 request
时遇到问题。
如果我要测试的文件有 require('request')
,我尝试 运行 npm test
,我得到这个错误:
FAIL __tests__/sum-test.js (0.291s)
● sum › it adds 1 + 2 to equal 3
- TypeError: The super constructor to `inherits` must have a prototype.
at Object.exports.inherits (util.js:756:11)
at Object.<anonymous> (node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/private-key.js:44:6)
at Object.<anonymous> (node_modules/request/node_modules/http-signature/node_modules/sshpk/lib/utils.js:16:18)
这是我的 package.json,如果有帮助的话:
{
"name": "jesttest",
"version": "1.0.0",
"scripts": {
"test": "jest"
},
"devDependencies": {
"jest-cli": "^12.0.2"
},
"dependencies": {
"request": "^2.72.0"
}
}
有人知道为什么会这样吗?
在您的测试文件中添加 jest.unmock('request')
。
当你在 file.In 这种情况下需要某些东西时,Jest 会模拟一个假的 require 对象,请求不是真实的 request.So 告诉 jext 不是模拟请求。