我正在使用Jest作为测试框架。我正在尝试在ResizeObserver回调中测试一个函数。
import ResizeObserver from 'resize-observer-polyfill';
const fn = jest.fn();
const element = document.createElement('div');
document.body.appendChild(element);
new ResizeObserver(() => {
fn();
}).observe(element);
在测试中,我尝试使用style属性更改element
的宽度和高度,以触发ResizeObserver
it('should call the fn function', () => {
element.style.width = '100px';
element.style.height = '200px';
expect(fn).toHaveBeenCalledTimes(2);
});
但是没有用。这是测试错误
Expected mock function to have been called two times, but it was called zero times.
我需要怎么做才能模拟ResizeObserver
回调?请帮忙。
注意:上面的代码是唯一的简化版本。