[英]mock function with return mock value in jest
我使用 react-redux 创建一个中间件,并想为它编写一些测试。 我怎么能嘲笑从辅助函数返回checkNumberHistory
这样我就可以测试逻辑if
受阻?
import {checkNumberHistory} from '@src/helper';
export const middlewareAction = (): AppThunk => {
return async (dispatch, getState) => {
const recordededNumber = getState()?.recordedNumber || 0;
const strNumber = getState()?.strNumber || 0;
const isNumberChanged = checkNumberHistory(recordededNumber, strNumber);
if (isNumberChanged) {
dispatch(setNumber(strNumber));
}
};
};
您应该能够使用jest.mock
来模拟checkNumberHistory
导入。 下面显示了使用其他命名导入的实际值和checkNumberHistory
:
jest.mock('@src/helper', () => ({
...jest.requireActual('@src/helper'),
checkNumberHistory: () => 'Some mocked return value',
}));
describe('middleware tests', () => {
it('does something', () => {
// test here
});
});
正如我在评论中提到的,如果我不需要(即,如果它们是确定性的),我倾向于尽量不模拟辅助函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.