Jest测试MUI对话框背景/叠加点击

sz81bmfz  于 6个月前  发布在  Jest
关注(0)|答案(1)|浏览(48)

我有一个MuiDialog,它在背景点击时关闭。但是,在编写关于onClose={() => setOpen(false)}的Jest测试时,我无法在render返回的容器上找到正确的查询。

alen0pnh

alen0pnh1#

我发现查看container是错误的。我使用debug记录结果,可以看到只有一个带有aria-hidden=true的div-根本不是我所期望的。我需要查看的是baseElement。我还试图单击MuiDialog-paper的选择器返回,这是不工作。这里是我的问题的答案为其他人。希望这节省一些时间:

it('calls onclose on overlay click', async () => {
    const setOpenMock = jest.fn();

    const { baseElement } = render(<FeatureUnavailable open={true} setOpen={setOpenMock} />);

    const dialogOverlay = baseElement.querySelectorAll('.MuiBackdrop-root');

    expect(dialogOverlay.length).toBe(1);

    fireEvent.click(dialogOverlay[0]);

    expect(setOpenMock).toHaveBeenCalledTimes(1);
    expect(setOpenMock).toHaveBeenCalledWith(false);
  });

字符串

相关问题