【发布时间】:2021-07-20 01:31:58
【问题描述】:
我使用 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));
}
};
};
【问题讨论】:
-
您能说明
checkNumberHistory的定义位置以及它是如何导入中间件的吗? -
更新它只是从另一个文件导出功能
-
函数是确定性的吗?您绝对可以根据我的直觉模拟导入,尝试 not 模拟它,然后您的测试也测试该功能
-
我不想测试那个功能。因为它是单元测试。我想隔离测试,
checkNumberHistory的逻辑已经在其他地方测试过 -
是的,我个人会嘲笑状态对象
标签: javascript unit-testing testing jestjs typescript2.0