我有一个MuiDialog,它在背景点击时关闭。但是,在编写关于onClose={() => setOpen(false)}的Jest测试时,我无法在render返回的容器上找到正确的查询。
onClose={() => setOpen(false)}
alen0pnh1#
我发现查看container是错误的。我使用debug记录结果,可以看到只有一个带有aria-hidden=true的div-根本不是我所期望的。我需要查看的是baseElement。我还试图单击MuiDialog-paper的选择器返回,这是不工作。这里是我的问题的答案为其他人。希望这节省一些时间:
container
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); });
字符串
1条答案
按热度按时间alen0pnh1#
我发现查看
container
是错误的。我使用debug记录结果,可以看到只有一个带有aria-hidden=true的div-根本不是我所期望的。我需要查看的是baseElement
。我还试图单击MuiDialog-paper
的选择器返回,这是不工作。这里是我的问题的答案为其他人。希望这节省一些时间:字符串