0

所以我在前面使用 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()

我似乎无法让它工作。

4

0 回答 0