我正在創建一個應用程序,其中我使用REDX和節點獲取遠程數據獲取。反應和笑話模擬模塊
我想測試一個事實,即我很好地調用具有良好參數的獲取函數。
這樣,我使用jest.mock和jasmine.createSpy方法:
it('should have called the fetch method with URL constant',() => {
const spy = jasmine.createSpy('nodeFetch');
spy.and.callFake(() => new Promise(resolve => resolve('null')));
const mock = jest.mock('node-fetch', spy);
const slug = 'slug';
actionHandler[FETCH_REMOTE](slug);
expect(spy).toHaveBeenCalledWith(Constants.URL + slug);
});
下面是我米試圖測試功能:
[FETCH_REMOTE]: slug => {
return async dispatch => {
dispatch(loading());
console.log(fetch()); // Displays the default fetch promise result
await fetch(Constants.URL + slug);
addLocal();
};
}
,你可以看到,我試圖記錄console.log(fetch())行爲,並且我有默認的承諾來解決node-fetch的問題,而不是我用Jest模擬的並且用jasmine窺探的。
你知道它不起作用嗎?
編輯:我的測試顯示我像我的間諜錯誤從來沒有被稱爲