Enzyme 얕은 렌더링을 사용하여 테스트중인 SFC가 있습니다. 이 상태없는 구성 요소에 인라인 스타일이 포함 된 스타일 객체를 전달합니다. 그러나 단위 테스트를 적용하면 정의되지 않은 값이 반환됩니다. 이 구성 요소가 소품으로 전달 된 내용을 반환하고 아무것도 전달/렌더링되지 않아 내게 정의되지 않은 것을 알았으므로 괜찮은지 확실하지 않습니다. 이 문제를 해결할 수있는 방법이 있습니까?효소 : Stateless Functional Component가 정의되지 않은 소품을 반환합니다.
const LoginForm = ({ style, handleSubmit }) => {
return (
<form onSubmit={handleSubmit}>
<div style={_.get(style, 'container')}>
{inputFields}
</div>
</form>
);
};
테스트 :
it('should apply styles to first div',() => {
const wrapper = shallow(<LoginForm style={{display: 'inline'}}/>);
expect(wrapper.find('div').first().prop('style')).to.eql({display: 'inline'});
});
이 비교하려고 할 때 당신이
container
속성이 없습니다 공급하고있는 객체 때문에, 사업부의style
소품{style: undefined}
으로 동일하며, 테스트가 실패합니다? –@MichaelParker 업데이트 – Umair