首页 > 解决方案 > 在单元测试中承诺初始化警告后捕获错误

问题描述

当我开始测试时,会出现警告:

警告:测试内部的更新未包含在 act(...) 中。

它是由捕获错误引起的:

 const getPeople = () => {
    const url = "https://api";
    axios(url)
      .then((res) => {
        setPeople(res.data.results);
      })
      .catch(function () {
        setError(true);
      });
  };

如果我 delete 一切正常catch,但我想拥有它,有没有办法做到这一点?

标签: reactjsjestjs

解决方案


你可以试试这个

 const getPeople = () => {
    const url = "https://api";
    await axios.get(url)
      .then((res) => {
        setPeople(res.data.results);
      })
      .catch(err => {
        setError(true);
      });
  };

推荐阅读