0
나는 아파치와 내 API 호출을 모의하려고하지만 어떤 이유로 그것은 작동하지 않습니다. 나는 이유를 정말로 이해하지 못한다. 누구나 아이디어가 있습니까?Jest API를 모의 호출하는 방법
불변
import { getStuff } from '../stuff';
import * as api from '../../util/api';
describe('Action getStuff',() => {
it('Should call the API to get stuff.',() => {
api.call = jest.fn();
getStuff('slug')(() => {},() => {});
expect(api.call).toBeCalled();
jest.unmock('../../util/api.js');
});
});
stuff.js REDUX 행동
내 test.js
import api from '@util/api';
import { STUFF, API } from '../constant';
export const getStuff = slug => (dispatch, getState) => {
const state = getState();
api.call(API.STUFF.GET, (err, body) => {
if (err) {
console.error(err.message);
} else {
dispatch({
type: STUFF.GET,
results: body,
});
}
}, {
params: { slug },
state
});
};
어떻게 테스트 할 수 있습니까? (실수, 신체) => { if (err) { console.error (err.message); } else { 발송 ({ 유형 : STUFF.GET, 결과 : 본문, }); } } – Alexandre
그 방법의 문제점은 무엇입니까? 파견의 경우에는 – Axnyff
Thx에 메서드를 제공하는 것을 모의해야합니다. api.call = jest.fn (경로 = '', 콜백) => { 콜백 ({메시지 : 'some error'}, null); }); – Alexandre