如何检查组件是否具有子组件

时间:2015-02-17 10:21:56

标签: reactjs jestjs reactjs-testutils

我正在使用Jest来测试ReactJS应用。如何测试视图控制器是否存在必要的子组件。

例如,以下是视图控制器的渲染函数的示例:

// App.js
render: function() {
  var table;
  if (this.state.showResults) {
    table = <Table {...this.state} />
  }

  return (
    <div>
      <Form />
      {table}
  )
}

对于HTML元素,可以这样做:

button = TestUtils.findRenderedDOMComponentWithTag AppElement, 'button'

如何对Form或Table组件执行相同的操作?

谢谢!

1 个答案:

答案 0 :(得分:3)

Doh ......所以答案是findRenderedComponentWithType。

首先,我需要组件类:

Form = require('Form.react.js');

然后我将此作为参数传递,如:

form = TestUtils.findRenderedComponentWithType(AppElement, Form);

当然,

AppElement = TestUtils.renderIntoDocument(<App />)