コンポーネントが存在しない、つまり特定のコンポーネントがレンダリングされていないことを確認するにはどうすればよいですか?
酵素 contains
を使用して、コンポーネントがレンダリングされたかどうかを確認できます。
expect(component.contains(<ComponentName />)).toBe(false)
toExist
のドキュメント に基づいてわずかに更新された回答を提供する
function Fixture() {
return (
<div>
<span className="foo" />
<span className="bar baz" />
</div>
);
}
const wrapper = mount(<Fixture />); // mount/render/shallow when applicable
expect(wrapper.find('span')).toExist();
expect(wrapper.find('ul')).not.toExist();
.contains
は、findとは異なり、セレクターを予期していません。 ShallowWrapperの長さ属性を見ることができます
expect(wrapper.find('...')).toHaveLength(0)
レンダリングされた出力に接続コンポーネントが存在するかどうかをテストするために、EnzymeとJestでこの構文を使用する必要があることがわかりました。