开玩笑getBoundingClientRect抛出错误

时间:2018-12-19 06:10:52

标签: reactjs jestjs enzyme

我正在使用getBoundingClientRect获取我的component的偏移量,但是在测试用例中会抛出错误。

我碰到了this帖子,告诉您如何模拟getBoundingClientRect,但是由于我是通过getBoundingClientRect对象访问current的,所以我不知道如何模拟它。有什么建议可以解决这个问题。

enter image description here

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);
      });
    });

0 个答案:

没有答案