1
我为一个阵营应用中的以下测试:scryRenderedComponentsWithType返回一个空数组
it('has 7 NavBarItems',() => {
const component = ReactTestUtils.renderIntoDocument(<App />);
const navBarItems = ReactTestUtils.scryRenderedComponentsWithType(
component,
NavBarItem);
expect(navBarItems.length).toEqual(7);
});
当App
组分在非测试环境呈现,用7个NavBarItem子组件的NavBar是在顶部创建的屏幕,以方便导航整个应用程序。
的NavBarItem
类如下:
class NavBarItem extends Component {
render() {
return (
<div id={this.props.id}
className={"NavBarItem" + (this.props.active ? " active" : "") + (this.props.visible ? "" : " hidden")}
onClick={e => this.props.navBarClick(e.target.id)}>
{this.props.title}
</div>
);
}
}
然而,测试总是失败,因为scryRenderedComponentsWithType
总是返回一个空数组,甚至当我把添加通话jest.dontMock
两个App
和文件从NavBarItem
是进口的。我用错了,还是我想要的不可能?
你们每个数字都是这样吗? – Srmuhs
注意:scryRenderedComponentsWithType不适用于反应v0.14中引入的新无状态组件。 – Larrydx