问题描述
所以我在前端使用 React/redux,我正在尝试测试提交的表单是否将 redux 操作分派到服务器。 我正在尝试使用 MSW 模拟服务器并查看它是否已被调用,但它似乎无法正常工作。
form.test.tsx
test("dispatches createProfile action on submit",async () => {
const testServer = setupServer()
let req: any;
testServer.use(
rest.post("http://localhost:8000/profile",(_req,res,ctx) => {
req = _req;
return res(ctx.status(200));
}),);
const mockEmail = "123@mock.com";
render(
<browserRouter>
<Form />
</browserRouter>,);
userEvent.type(screen.getByRole("textBox",{ name: "email" }),mockEmail);
userEvent.click(screen.getByTestId("submit-button"));
await waitFor(() => {
expect(req).toBeTruthy(); //This is failing
});
});
所以基本上 req
应该是真实的。
我已经对端点进行了三次检查,并从高级开发人员那里查看了一些其他示例,并遵循(复制)了它。
我也试过 testServer.resetHandlers()
我似乎无法让它工作。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)