提问人:ignite-me 提问时间:11/15/2023 更新时间:11/15/2023 访问量:11
如何在 Jest 中模拟函数以及调度该函数的 .then 回调?
How to mock a function as well as .then callback that dispatches that function in Jest?
问:
我有以下代码,我正在尝试测试:
Promise.all)[
dispatch(getSomethingA()).then(() => {
return checkSomething() ? dispatch(getSomethingB()) : Promise.resolve();
}),
dispatch(getSomethingC())
])
我试图断言的是,所有调度都是按顺序调用的
getSomethingA()
getSomethingB()
getSomethingC()
是否可以模拟函数本身和同一函数的回调?我希望模拟只是返回一个数组,例如 - 所以本质上是扁平嵌套?.then
["getSomethingA()", "getSomethingB()", "getSomethingC()"]
我尝试了类似的东西:
dispatch = jest
.fn()
.mockImplementationOnce(() => ({
then: action => `${action} result`,
}))
.mockImplementation(action => `${action} result`);
但它会抛出 TypeError: dispatch(...)。则不是一个函数
答: 暂无答案
评论
dispatch