小编use*_*043的帖子

解决 React 测试库中的 act() 警告

我正在尝试测试我的组件并且测试正在通过,但是我不断收到有关在我的终端中更新的状态片段的行为警告:“警告:测试中对 Bird 的更新未包含在 act(...) .”

该警告指的是 const handleRemoveBird = () => { setShowModal(true); };状态更新。

这是否与链接到模态组件的状态有关并且它在测试之外更新?如果是这种情况(或不是),我需要等待/等待什么来修复行为警告?

我的测试:

import { screen, waitFor } from "@testing-library/react";
import user from "@testing-library/user-event";
import { renderWithProviders } from "../utils/utils-for-tests";
import Bird from "../components/Bird";

const modalContainerMock = document.createElement("div");
modalContainerMock.setAttribute("class", "modal-container");
document.body.appendChild(modalContainerMock);

const birdImgMock = jest.mock("../../components/BirdImg", () => {
  return () => {
    return "Bird Img Component";
  };
});

const renderComponent = (bird) => {
  renderWithProviders(<Bird bird={bird} />);
};

const bird = {
  id: "1",
  name: "blue …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs jestjs react-testing-library

3
推荐指数
1
解决办法
933
查看次数