Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在sagas中模拟异步调用的响应_Javascript_Reactjs_React Native_Jestjs - Fatal编程技术网

Javascript 如何在sagas中模拟异步调用的响应

Javascript 如何在sagas中模拟异步调用的响应,javascript,reactjs,react-native,jestjs,Javascript,Reactjs,React Native,Jestjs,我有一个如下代码: export function* terminateOrderSaga(action: Action) { const {orderId, onPaymentRequired} = action.payload; const { data: {unsubscribe: unsubscribeResponse}, } = yield call(unsubscribeMutat

我有一个如下代码:

export function* terminateOrderSaga(action: Action) {
            const {orderId, onPaymentRequired} = action.payload;
            const {
                data: {unsubscribe: unsubscribeResponse},
            } = yield call(unsubscribeMutation, {
                orderId,
            });
    
            const {status, ticketInfo} = unsubscribeResponse || {};
            const {zones, price} = ticketInfo;
}
我想嘲笑这个请求:

yield call(unsubscribeMutation, {
   orderId,
});
我在测试文件中尝试了以下几个选项:

unsubscribeMutation.mockImplementationOnce({unsubscribe: {status: "OK", ticketInfo:{price:23, zones: 'ASD'}})

但id似乎不起作用,它似乎仍在调用服务器,而没有返回模拟响应

mockImplementationOnce
需要一个函数。可能尝试使用
mockImplementationOnce(()=>({unsubscribe:{status:“OK”,ticketInfo:{price:23,zones:'ASD'}))
或使用
mockReturnValueOnce
mockImplementationOnce
需要一个函数。可能尝试使用
mockImplementationOnce(()=>({unsubscribe:{status:“OK”,ticketInfo:{price:23,zones:'ASD'}))
或使用
mockReturnValueOnce