【发布时间】:2018-07-02 16:32:23
【问题描述】:
我正在尝试测试我的错误处理操作是否在我的 saga 引发错误时被调用。
这是我的传奇代码:
function* createMenu({ values }) {
try {
do some stuff...
} catch (err) {
yield put(displayApiError(err));
}
}
这是我的测试代码:
const saga = createMenu(mockAction);
const mockError = 'err';
it('calls displayApiError()', () => {
saga.next();
const result = saga.throw(mockError);
expect(result.value).toEqual(put(displayApiError(mockError)));
});
这就是我在开玩笑的输出中看到的:
● createMenu › Failure › calls displayApiError()
expect(received).toEqual(expected)
Expected value to equal:
{"@@redux-saga/IO": true, "PUT": {"action": [Function anonymous], "channel": null}}
Received:
{"@@redux-saga/IO": true, "PUT": {"action": [Function anonymous], "channel": null}}
Difference:
Compared values have no visual difference.
我假设问题出在Function anonymous 部分。我试过自己执行这两个比较函数,它们都以相同的方式调用displayApiError。
那么为什么测试仍然失败?
【问题讨论】:
标签: testing redux jestjs anonymous-function redux-saga