2 votes

Comment écrire un test snapshot pour une fonction vanille JavaScript ?

J'ai écrit une fonction qui ajoute une classe à un bouton lorsqu'il est cliqué :

export default function () {
  const button = document.getElementById('button');
  button.addEventListener('click', ((event) => {
    event.target.classList.add('is-active');
  }));
};

J'aimerais écrire un Test instantané Jest . Mais tous les exemples font référence à React. Et j'ai du mal à traduire les exemples en JavaScript classique.

Comment écrire un test snapshot pour la fonction ci-dessus ?

2voto

Ryan Payne Points 1868

Pour la configuration, ajoutez votre bouton au DOM et initialisez la fonction initButton() fonction. Ensuite, cliquez sur le bouton et affirmez sur l'instantané.

import initButton from './button';

it('should add class to button when clicked', () => {
  document.body.innerHTML = '<button id="button">Click me!</button>';
  initButton();

  document.getElementById('button').click();

  expect(document.body).toMatchSnapshot();
});

L'instantané s'affichera :

exports[`should add class to button when clicked 1`] = `
<body>
  <button
    class="is-active"
    id="button"
  >
    Click me!
  </button>
</body>
`;

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