最近写单元测试的时候遇到一个问题,连续写几个 test时会报以下错误,单独一个没事,按说afterEach中有cleanup()不会这样吧,我不理解
既然去不掉就加一个IntersectionObserver,方法如下
window.IntersectionObserver = vi.fn(() => ({
observe: vi.fn(),
unobserve: vi.fn(),
disconnect: vi.fn(),
}));
这时候 npm run test 就不会报错了
最后希望能有人解答我的疑惑,为什么会出现这种情况,是测试用headlessui写的modal的时候出现的这个问题
单独写一个没事:
it("test1", () => {
render(modal );
});
render两次就报错
it("test1", () => {
render(modal );
});
it("test2", () => {
render(modal );
});
怎么能避免render两次的时候触发IntersectionObserver呢?



