我正在使用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组件执行相同的操作?
谢谢!
答案 0 :(得分:3)
Doh ......所以答案是findRenderedComponentWithType。
首先,我需要组件类:
Form = require('Form.react.js');
然后我将此作为参数传递,如:
form = TestUtils.findRenderedComponentWithType(AppElement, Form);
当然,
AppElement = TestUtils.renderIntoDocument(<App />)