componentWillUnmount() {
document.removeEventListener('click', this.handleClickOutside);
}
/**
* Set the wrapper ref
*/
setWrapperRef(node) {
this.wrapperRef = node;
}
handleClickOutside(event) {
/* istanbul ignore next */
if (this.wrapperRef && !this.wrapperRef.contains(event.target)) {
this.props.clickHandler();
}
}
如何调用handleClickOutside
函数。我应该如何模仿这里的clickOutside?请帮助
it('lets click outside and close dropdown', () => {
const handleClickOutside = sinon.spy();
expect(handleClickOutside.called).to.be.true;
wrapper.unmount();
});
答案 0 :(得分:1)
假设这是一个HOC
或render prop
,并将其他组件呈现为children
(this.props.children
)-以下是Jest
和{{ 1}}测试,因此可能与您所使用的稍有不同。
components / __ test __ / ClickHandler.test.js
Enzyme