首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ShallowWrapper只能包装有效的元素-酶反应

ShallowWrapper只能包装有效的元素-酶反应
EN

Stack Overflow用户
提问于 2018-12-01 00:26:20
回答 1查看 4.6K关注 0票数 5

我正在为一个组件编写一个测试,以测试它的一个函数,但是我得到了一个错误:ShallowWrapper can only wrap valid elements

组件文件如下- Panel.jsx (简化):

代码语言:javascript
复制
class Panel extends Component {
  static propTypes = {
    ...
  };

  static defaultProps = {
    ...
  };

  constructor(props) {
    super(props);
    ...
    this.makeConfigArray = this.makeConfigArray.bind(this);
    this.filterSelected = this.filterSelected.bind(this);
  }

  makeConfigArray() {
    ...
  }

  filterSelected(filters) {
    ...
  }

  render() {
    return (
      <div>
        <ReactFilterSentence
          filters={this.makeConfigArray()}
          label="Filter Page"
          isPersistent
          onChange={(...args) => this.filterSelected(args)}
        />

        <span className="page-filter__config-form-separator" />
      </div>
    );
  }
}

export default Panel;

测试文件如下- panel-test.jsx

代码语言:javascript
复制
import React from 'react';
import { expect } from 'chai';
import { shallow } from 'enzyme';
import Panel from '../../src/components/Panel.jsx';

const Enzyme = require('enzyme');
const Adapter = require('enzyme-adapter-react-15');

Enzyme.configure({ adapter: new Adapter() });

describe('<Panel /> component', () => {
  let props;
  const getPanelWrapper = () => shallow(<Panel {...props}/>);

  it('should make regions filter query string', () => {
    const regions =
      {
        "key":"region",
        "value":
          [
            "Nordic > Nordic > Denmark",
            "Nordic > Finland",
            "Nordic > Norway",
            "Nordic > Sweden"
          ]
      };

    const expected = "regions=DK+FI+NO+SE";
    expect(getPanelWrapper().instance().makeRegionsQueryString(regions)).to.equal(expected);
  });
});

任何关于为什么会发生这种情况的想法都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2018-12-17 00:19:49

代码语言:javascript
复制
const getPanelWrapper = () => shallow(<Panel {...props}/>);

应该是:

代码语言:javascript
复制
const getPanelWrapper = shallow(<Panel {...props}/>);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53561358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档