我正在创建一个应用程序,其中我使用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窥探的。
你知道它不起作用吗?
编辑:我的测试显示我像我的间谍错误从来没有被称为