我如何在Jest中对此进行测试?

时间:2020-10-15 09:11:33

标签: reactjs jestjs react-testing-library

我有以下代码:

const HeaderMenu = ({ location }) => {
  const [isModalOpen, setIsModalOpen] = useState(false);
  const dispatch = useDispatch();
  const handleLogout = doLogout(dispatch);
  const handleLogoutOrder = async ({ stage }) => {
    setIsModalOpen(true);
    await dispatch(
      fetchRejectionReasons({
        siteId: 'USDJD',
        serviceId: 'CAR',
        stage: stage || EXIT_REASONS.EXIT
      })
    );
  };
return(
<>
      <Popup
        isModalOpen={isModalOpen}
        setIsModalOpen={setIsModalOpen}
        logout
      />
      <div className={styles.container}>
        <div>
          <Link data-testid="link" to="/">
            <img src={logoUrl} />
          </Link>
        </div>
        <div
          role="button"
          tabIndex="0"
          onClick={
            ORDER_ROUTES.includes(location.pathname)
              ? handleLogoutOrder 
              : handleLogout
          }
          data-testid="headermenu-logout-btn"
        >
          Logout
        </div>
      </div>
    </>
  );
};
)
...

我不知道如何使用react testing库在Jest中测试handleLogoutOrder函数..如果对此有经验的人可以帮助我,将不胜感激。 我已经测试了Popup呈现器。我需要测试setIsModalOpen(true)和分派获取函数。

0 个答案:

没有答案