104 votes

Jest - comment faire pour tester si un composant n'existe pas?

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?

112voto

Artem Kislov Points 251

.contains reçoit une Réagir Nœud ou un tableau de Nœuds comme un argument. Au lieu de cela, utilisez .find:

expect(wrapper.find('selector').exists()).toBeTruthy()

60voto

Andreas Köberle Points 16453

Vous pouvez utiliser des enzymes contains pour vérifier si le composant a été rendu:

expect(component.contains(<ComponentName />)).toBe(false)

8voto

Snekse Points 2525

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();

5voto

Swards Points 3017

.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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X