TypeError:wrapper.exists不是函数&& TypeError:wrapper.find不是函数

时间:2019-08-01 08:44:30

标签: reactjs testing

我正在为具有路由器的一个组件编写测试用例(使用withrouter)。并且我得到错误包装​​器。查找不是一个功能。 基本要求是需要检查渲染器中是否存在标签,还需要检查标签的aria-label属性

const组件=()=>   const WrappedComponent = withRouter(Component)

  describe('Error Boundary...', () => {
    it('should render children when no error is encountered', () => {
      const wrapper = ReactTestRenderer.create(
        <Router><WrappedComponent /></Router>
      );
      expect(wrapper.toJSON().type).toEqual('div');
      expect(wrapper.toJSON()find('a').attr('aria-label')).toEqual('Hello World');
    });
  });

1 个答案:

答案 0 :(得分:0)

您不应在期望行中致电.toJSON()

 describe('Error Boundary...', () => {
    it('should render children when no error is encountered', () => {
      const wrapper = ReactTestRenderer.create(
        <Router><WrappedComponent /></Router>
      );
      expect(wrapper.root.type).toEqual('div');
      expect(wrapper.root.find('a').attr('aria-label')).toEqual('Hello World');
    });
  });