特定の条件下でのレンダリングでnullを返すコンポーネントがあります。
render() {
if (this.props.isHidden) {
return null;
}
return <div>test</div>;
}
Jestと酵素でisHiddenがtrueの場合、コンポーネントがnullかどうかを確認したい:
describe('myComp', () => {
it('should not render if isHidden is true', () => {
const comp = shallow(<myComp isHidden={true} />);
expect(comp.children().length).toBe(0);
});
});
これは機能しますが、このテストを書くためのより慣用的な方法はありますか? nullとしてレンダリングされるコンポーネントのテストは、非常に一般的なシナリオです。
_ expect(comp.type()).toEqual(null)
_
それでおしまい!
または:expect(comp.get(0)).toBeFalsy()
による - ShallowWrapper::html
実装は、render
の結果として、コンポーネントインスタンスタイプがnullの場合、nullを返します。
expect(comp.html()).toBeNull();
ShallowWrapper
には isEmptyRender()
関数があります:
expect(comp.isEmptyRender()).toBe(true)