Maison > interface Web > js tutoriel > le corps du texte

La vérité sur la couverture des tests

Mary-Kate Olsen
Libérer: 2024-09-28 16:23:01
original
378 Les gens l'ont consulté

The truth about test coverage

Une vérité puissante.

Regardez le code suivant, simple et direct :

function sum(a, b) {
  return a + b;
}
Copier après la connexion

Maintenant, écrivons quelques tests pour cela :

test('sum', () => {
  expect(sum(1, 2)).toBe(3);
  expect(sum(2, 3)).toBe(5);
  expect(sum(3, 4)).toBe(7);
  expect(sum(4, 5)).toBe(9);
});
Copier après la connexion

Nous avons une couverture à 100 %, n'est-ce pas ? Eh bien, oui, nous le faisons, en fait, nous pourrions dire que nous avons obtenu une couverture de 400 % car tout le code est entièrement testé 4 fois, mais le faisons-nous ?

La vérité est que nous ne le faisons pas. Nous testons la fonction avec un ensemble limité d'entrées, et nous ne prenons pas en compte les cas limites, ni nous testons la fonction avec des entrées non valides.

Considérez ce qui suit :

sum(1, '2');
sum(1, null);
sum(1, undefined);
Copier après la connexion

Que se passerait-il dans un tel scénario ? La fonction générerait-elle une erreur ? Est-ce que cela retournerait une valeur ? Est-ce que cela briserait notre candidature ?

Soyez conscient du piège de la couverture des tests.

La couverture des tests est un outil puissant, mais ce n'est pas la solution ultime. Il s'agit d'une métrique qui peut vous aider à comprendre dans quelle mesure votre code est testé, mais elle ne vous indique pas dans quelle mesure il est testé.

La couverture des tests peut vous aider en termes de quantité, mais elle ne peut pas faire grand-chose en termes de qualité. C'est à vous d'écrire de bons tests, de prendre en compte les cas extrêmes, de tester votre code avec des entrées non valides et de vous assurer que vos tests sont significatifs et précieux.

Conclusion

C'était un article assez court, je l'avoue, j'espère quand même qu'il vous a été utile pour rappeler l'importance de rédiger de bons tests. N'oubliez pas que la couverture des tests est un outil et non un objectif. A vous d'en profiter au maximum.

Ciao,

Michel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!