我正在学习使用Jest在使用javascript的前端进行单元测试。有几个函数使用后端对象来获取我们的数据/运行逻辑,我想知道如何在不访问后端的情况下测试这些函数。以下是函数的一般概念。
export function func(param1, param2) {
return (dispatch) => {
dispatch(someFunc());
Backend.func(param1, param2)
.catch(() => {
dispatch(errorFunc());
})
.then(() => {
dispatch(successFunc());
});
};
}
后端对象没有做任何事情,因为我没有连接,所以在测试函数时,我的模拟商店只接收someFunction动作。我有什么可以制作一个模拟后端,有没有办法注入这个,所以当我测试函数而不是真实函数时它运行模拟后端?
编辑:所以我有点缩小了我想做的事情。后端是自己的脚本,我们有一个具有相同接口的FakeBackend。有没有办法将Backend重定向到实际调用FakeBackend?