【发布时间】:2021-08-21 20:30:14
【问题描述】:
我有一个具有两个功能的节点模块:
authenticate()
和
signIn()
authenticate 调用 signIn 作为辅助函数
两者都从模块中导出,如下所示:
module.exports = { authenticate, signIn };
我正在遵循针对此处找到的类似问题的建议: expected spyOn function to be called Jest
在我的测试结果中注销模块的内容以确认两种方法都存在:
{
authenticate: [AsyncFunction: authenticate],
signIn: [AsyncFunction: signIn]
}
当authentication 正在测试以确保它被调用时,我监视signIn,我知道它被调用是因为来自signIn 的消息注销到控制台。
我希望这个测试能够通过,但是当预期 >=1 时,它会说有 0 个调用失败。
const auth = require("./authenticate");
test("should signIn", async () => {
console.log(auth);
const signInSpy = jest.spyOn(auth, "signIn").mockResolvedValue({ access_token: "123" });
await auth.authenticate();
expect(signInSpy).toBeCalled();
});
我假设我设置错误,因为调用auth.authenticate() 确实调用了auth 模块的signIn,但我不知道它是什么。
【问题讨论】:
-
你能显示验证模块的代码吗?
标签: javascript node.js jestjs