Comment puis-je vérifier si un élément n'est pas présent, c'est à dire qu'un composant spécifique n'a pas été rendu?
Réponses
Trop de publicités?Vous pouvez utiliser des enzymes contains
pour vérifier si le composant a été rendu:
expect(component.contains(<ComponentName />)).toBe(false)
Fournir un légèrement mise à jour de la réponse basée sur la documentation pour 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
ne s'attend pas à un sélecteur, contrairement à trouver. Vous pouvez regarder la longueur de l'attribut de la ShallowWrapper
expect(wrapper.find('...')).toHaveLength(0)
J'ai trouvé j'avais besoin d'utiliser cette syntaxe avec l'Enzyme et de la Plaisanterie pour tester si un Composant Connecté existé dans le rendu de la sortie.