【发布时间】:2019-07-16 17:47:19
【问题描述】:
我有一个名为client 的节点模块。它的结构如下:
//index.js
import users from "./users"
export default { users }
还有:
//users.js
export default { getUser }
function getUser(username) {
...
return {role: userRole}
}
我想在我的测试中模拟这个 getUser(username) 函数。 所以我可以这样称呼:
client.users.getUser.mockResolvedValueOnce({role: "manager"})
我的测试头是这样的:
let client = jest.genMockFromModule('client').default;
client.users.getUser = jest.fn();
但是,在运行我的测试时,当我的原始代码调用 client.users.getUser 时出现以下错误。
TypeError: Cannot read property 'users' of undefined 58 | 59 | // Retrieve user and then return its projects > 60 | client.users.getUser(username) | ^ 61 | .then(user => { 62 | if (!user) { 63 | throw new Error(`User ${username} not found`) at Object.getUser (node_modules/client/build/users.js:26:45) at Object.getUser [as insert] (src/web/controller/projects.js:60:18) at Object.insert (src/web/controller/projects.test.js:80:18)
【问题讨论】:
标签: node.js express testing mocking jestjs