我正在使用getBoundingClientRect
获取我的component
的偏移量,但是在测试用例中会抛出错误。
我碰到了this帖子,告诉您如何模拟getBoundingClientRect
,但是由于我是通过getBoundingClientRect
对象访问current
的,所以我不知道如何模拟它。有什么建议可以解决这个问题。
test.js
import React from 'react';
import { MyComponent } from './SearchResultTable';
import { shallowWithTheme } from '../../helper';
describe('<Component test />', () => {
let component;
beforeEach(() => {
component = shallowWithTheme(
<MyComponent />,
);
Element.prototype.getBoundingClientRect = jest.fn(() => ({
width: 120,
height: 120,
top: 0,
left: 0,
bottom: 0,
right: 0,
}));
});
it('should not render grid if product data is not available', () => {
const instance = component.instance();
jest.spyOn(instance, 'renderRow');
expect(instance.renderRow).toHaveBeenCalledTimes(0);
expect(component.find('ReactDataGrid').exists()).toBe(false);
expect(component.find('#no-product-message').length).toBe(1);
});
});