0
JS 테스트를 작성하여 이미지의 CSS 클래스가 제대로 적용되고 있는지 확인하고 있습니다. 클래스는 이미지의 naturalHeight
속성을 기반으로 계산됩니다. 그러나 JS 테스트이므로 DOM이 없으므로 naturalHeight
은 테스트시 항상 0입니다. 어떻게하면 Jest와 Enzyme을 사용하여 적절하게 시험하거나 모의 할 수 있습니까?DOM없이 이미지 'naturalHeight'검사하기
간체 버전 : 테스트를 시도
class Image extends React.Component {
public render() {
return (
<img
src={this.props.src}
ref={el => this.imageElement = el }
className={ this._computeStyle() }/>
)
}
private _computeStyle() {
if (this.imageElement.naturalHeight > 100){
return 'big';
}
return 'small'
}
}
: jsdom
이후
it('has class "big" if > 100 pixels',() => {
let wrapper = mount(<Image src={largeImage} />);
expect(wrapper.find('img').hasClass('big')).toBe(true);
});
감사합니다! 프로토 타입 확장은 효과가있었습니다. 이 변경 범위가이 테스트에 적용됩니까? 아니면 프로젝트의 모든 테스트에 대해 전역으로 속성을 정의 할 예정입니까? – devthorne
이 특정 테스트 파일에만 영향을 미칩니다. –