0
학습 반응 항목에 삭제 버튼을 추가하기 위해 상위 구성 요소를 쓰려고합니다. 나는 내가 잘못 여기서 뭐하는 거지 알아낼 수 없습니다 : 나는 이런 식으로 테스트입니다Higher Order Component는 래핑 된 요소를 '태그'문자열로 렌더링합니다.
const deletableItem = WrappedComponent => {
const DeletableItemWrapper = class extends React.Component {
render() {
return (
<div>
<WrappedComponent {...this.props} />
<button onClick={this.props.onDelete}>delete</button>
</div>
)
}
}
DeletableItemWrapper.propTypes = {
onDelete: PropTypes.func.isRequired
}
DeletableItemWrapper.displayName =
'DeletableItemWrapper_' +WrappedComponent.displayName
return DeletableItemWrapper
}
:
describe('deletableItem',() => {
it('should contains dumb',() => {
const onDelete = sinon.spy()
const DumbComponent =() => <div>dumb</div>
const Item = deletableItem(DumbComponent)
const wrapper = shallow(<Item onDelete={onDelete} />)
expect(wrapper.text()).to.contains('dumb')
})
})
시험은 저를 제공합니다
AssertionError: expected '<DumbComponent />delete' to include 'dumb'
은 그래서 같이
HOC는 '줄 바꿈 요소'를 렌더링하지 않고 태그 만 문자열로 렌더링합니다. 내가 놓친 게 무엇입니까 ?