Aller au contenu

Convention:Tests unitaires

Définition, traduction, prononciation, anagramme et synonyme sur le dictionnaire libre Wiktionnaire.


icône information Cette page décrit les conventions de codage des tests unitaires des modules Lua du Wiktionnaire.

Pour les conventions de codage des modules, se référer à la page dédiée.

Le terme « test » désigne ici l’appel à une fonction du module UnitTests et « fonction de test » désigne une fonction dont le nom commence par test et effectuant au moins un test.

Structure générale

[modifier le wikicode]

Les pages de tests doivent suivre la structure suivante :

  • import du module UnitTests avec le nom tests
  • import du module à tester en suivant les conventions de nommage des variables de modules.
  • ligne vide
  • commentaire -- Utility functions -- (uniquement s’il y a des fonctions utilitaires)
  • ligne vide
  • déclaration des fonctions utilitaires pour les tests
  • ligne vide
  • commentaire -- Tests --
  • ligne vide
  • déclaration des tests positifs
  • ligne vide
  • commentaire -- Error tests --
  • ligne vide
  • déclaration des tests d’erreur

Fonctions de test

[modifier le wikicode]

Le nom des fonctions de test doit être de la forme testNomDuTest. Ceci est impératif puisque cela indique au module UnitTests que la fonction est un test, toute fonction qui ne suit pas ce principe ne sera pas exécutée. Le reste du nom suit les conventions de nommage des fonctions. Le nom du test doit être le plus explicite possible.

Les fonctions de test doivent appeler au moins une des fonctions suivantes :

  • UnitTests:equals
  • UnitTests:deep_equals
  • UnitTests:expect_error

Une fonction de test peut contenir plusieurs appels aux fonctions ci-dessus lorque ceux-ci traitent de cas très similaires. Dans le cas contraire, il faut les répartir dans plusieurs fonctions de test différentes.

Chaque test doit avoir un nom explicite et non ambigu. Il n’est donc pas nécessaire d’y ajouter de la documentation.

Il doit y avoir une ligne vide entre chaque fonction.