有没有办法使用React Testing Library设置局部状态变量

时间:2019-11-28 19:01:24

标签: jestjs react-hooks react-testing-library

我有一堆React Bootstrap Modals,它们在我的功能组件中利用了局部状态变量。这是一些示例代码:

const [isLoaded, setIsLoaded] = useState(false);

useEffect(() => {
  if (isLoaded) {
    requests.get(`${requests.API_ROOT()}account_management/companies`)
    .then(response => {
      setCompanies(response.data.companies);
    })
    .catch(error => {
      if (error.response) {
        throw('Error fetching companies: ', error.response.status);
      }
    });
  }
},[isLoaded]);

在浏览器中正常运行时,一切正常。当React Bootstrap的setIsLoaded(true)组件触发其<Modal>事件时,将调用onEntered

不幸的是,jsdom不支持Modal.onEntered,因此isLoaded从未设置为true,因此从未执行过如上所述的useEffect

因此,我想知道是否有一种方法可以在测试中手动调用setIsLoaded来完成相同的工作?

0 个答案:

没有答案