TestNG - Présentation
Le test est le processus de vérification de la fonctionnalité d'une application pour s'assurer qu'elle fonctionne conformément aux exigences. Les tests unitaires sont pris en compte au niveau du développeur, où des mesures adéquates sont prises pour tester chaque entité (classe ou méthode) afin de garantir que le produit final répond aux exigences.
JUnit a poussé les développeurs à comprendre l'utilité des tests, en particulier des tests unitaires, par rapport à tout autre framework de test. En s'appuyant sur une architecture plutôt simple, pragmatique et stricte, JUnit a pu «infecter» un grand nombre de développeurs. Jetez un œil à notre tutoriel sur JUnit pour bien comprendre ses fonctionnalités. JUnit, en même temps, présente également quelques lacunes, qui sont énumérées ci-dessous -
Initialement conçu pour permettre uniquement les tests unitaires, maintenant utilisé pour toutes sortes de tests.
Impossible de tester les dépendances.
Mauvais contrôle de la configuration (setUp / tearDown).
Intrusif (vous oblige à étendre les classes et à nommer vos méthodes d'une certaine manière).
Modèle de programmation statique (vous oblige à recompiler inutilement).
La gestion de différentes suites de tests dans des projets complexes peut être très délicate.
Qu'est-ce que TestNG?
La définition de TestNG selon sa documentation est la suivante -
TestNG est un framework de test inspiré de JUnit et NUnit, mais présentant de nouvelles fonctionnalités qui le rendent plus puissant et plus facile à utiliser.
TestNG est un cadre de test automatisé open source; oùNG veux dire NextGénumération. TestNG est similaire à JUnit (en particulier JUnit 4), mais ce n'est pas une extension JUnit. Il est inspiré de JUnit. Il est conçu pour être meilleur que JUnit, en particulier lors du test de classes intégrées. Le créateur de TestNG est Cedric Beust .
En éliminant la plupart des limitations de l'ancien framework, TestNG donne au développeur la possibilité d'écrire des tests plus flexibles et plus puissants. Comme il emprunte beaucoup aux annotations Java (introduites avec JDK 5.0) pour définir des tests, il peut également vous montrer comment utiliser cette nouvelle fonctionnalité du langage Java dans un environnement de production réel.
Caractéristiques de TestNG
Prend en charge les annotations.
TestNG utilise plus de fonctionnalités Java et OO.
Prend en charge le test des classes intégrées (par exemple, par défaut, il n'est pas nécessaire de créer une nouvelle instance de classe de test pour chaque méthode de test).
Sépare le code de test au moment de la compilation des informations de configuration / données d'exécution.
Configuration d'exécution flexible.
Introduit des «groupes de test». Une fois que vous avez compilé vos tests, vous pouvez simplement demander à TestNG d'exécuter tous les tests "front-end", ou "rapides", "lents", "base de données", etc.
Prend en charge les méthodes de test dépendantes, les tests parallèles, les tests de charge et les échecs partiels.
API de plug-in flexible.
Prise en charge des tests multi-threads.