我有一个简单的想法:
import { AppDispatch } from "../store";
import { Api } from "../../shared/api/index";
import { registrationFormSlice } from "../registration";
export const logIn =
(email: string, password: string) =>
async (dispatch: AppDispatch) => {
try {
const { status } = await Api.auth.logIn({ email, password });
if (status === 200) {
dispatch(registrationFormSlice.actions.reset());
}
} catch (error: any) {
console.error(error);
}
};
我该如何测试它?
我试图自己找到答案,但我所能找到的一切都没有给予答案,或者非常难以理解。我甚至不能写我如何测试这个THUNK,因为我不知道从哪里开始。
1条答案
按热度按时间zu0ti5jz1#
如果你只想测试动作相关的逻辑,可以使用redux-mock-store包。
用于测试Redux异步操作创建者和中间件的模拟商店。模拟存储将创建一个分派的操作数组,用作测试的操作日志。
请注意,这个库是为了测试动作相关的逻辑而设计的,而不是reducer相关的逻辑。
例如
api.ts
:registration.ts
:thunk.ts
:thunk.test.ts
:测试结果: