假设存在带有handleCloseEvent()和render()方法的组件类。 handleCloseEvent()使用this.setState更改状态对象中的数据。
从测试类中,组件在任何测试运行之前安装,在测试方法之后卸载。从一种测试方法中,使用“ page.instance()。setState({})”来调用handleCloseEvent。 渲染未从单元测试类调用handleCloseEvent时被调用。 请帮我解决这个问题。
class DropdownList extends React.Component {
......
......
......
handleCloseEvent() {
this.setState({
x: null
});
}
.........
.........
.........
.........
render() {
return (
<div class={`${!this.state.x ? "hidden" : ""}`>
</div>
);
}
}
describe("Component: DropdownList", () => {
it("Checking render", () => {
page = intlHelper.mountWithIntlWithoutRelay(<DropdownList dropdownStore={dropdownStore} onAddItem={handleAddRemoveDrodownItemSpy} onRemoveItem={handleAddRemoveDrodownItemSpy}/>);
page.instance().handleCloseEvent();
expect(page.find(".hidden").props().show).to.be.true;
});
}