所以我在前面使用 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()
我似乎无法让它工作。