【发布时间】:2017-08-14 15:06:43
【问题描述】:
我有一个传奇
export function* mysaga(api, action) {
const response = yield call(api.service, action);
yield put(NavActions.goTo('Page', { success: response.ok }));
}
调用 API 并返回值导航到另一个屏幕,传递 API 调用结果 (response.ok)。
it('test', () => {
// ...
const gen = mysaga(api, action);
const step = () => gen.next().value;
// doesn't actually run the api
const response = call(api.service, {});
expect(step()).toMatchObject(response); // ok
// error, Cannot read property 'ok' of undefined
expect(step()).toMatchObject(
put(NavActions.goTo('Page', { success: response.ok }))
);
});
因为它实际上并没有运行 API 调用 response 没有得到定义。
我不知道我应该做些什么来测试这个场景。
如何测试我的传奇的第二步?
【问题讨论】:
标签: react-native jestjs redux-saga