Я создаю приложение, в котором я использую reducex и node-fetch для удаленной выборки данных.React and jest mock module
Я хочу проверить факт, что я хорошо называю функцию выборки хорошим параметром.
Таким образом, я использую 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 и шпионил за жасмином.
У вас есть идея, что он не работает?
EDIT: Мой тест отображается меня ошибка, как мой шпион никогда не был назван