TestNG est un framework de test puissant qui permet aux développeurs d’écrire des tests flexibles avec des fonctionnalités de regroupement, de séquençage et basées sur les données; il facilite même l’écriture de tests parallèles. Et la fonctionnalité la plus puissante, à mon avis, est un ensemble d’écouteurs qui s’accroche à TestNG, ce qui permet de mieux contrôler les cas de test, ou d’augmenter les rapports, etc.
Le plugin TestNG Eclipse vous donne la possibilité d’exécuter et de déboguer des cas de test TestNG dans Eclipse ID.
Cet article partage quelques conseils sur la façon d’être efficace lors de la création et de l’exécution de tests avec le plugin Eclipse TestNG.
Installation
Le plugin TestNG pour Eclipse est disponible sur Eclipse Marketplace, veuillez suivre le guide d’installation.
Utilisez le plugin TestNG Eclipse
Tests de création
Lorsque vous créez les cas de test TestNG, les modèles prédéfinis peuvent certainement vous aider à être plus efficace. Pour créer une méthode de test, dans l’éditeur, tapez test
, puis appuyez sur la touche de raccourci Content Assist (‘Alt +/’ dans mon cas), sélectionnez le modèle comme ci-dessous:
Remarque: Il y aura plus de modèles disponibles dans TestNG Eclipse Plugin 6.10.1, par exemple ‘setup’, ‘teardown’, etc.
Exécuter / déboguer des tests
Tests de lancement
Il existe plusieurs façons de lancer des tests, ce qui est très pratique. Voici les différentes façons de le faire:
- Un clic droit sur la classe de test ou l’éditeur de source, pour exécuter ce test.
- Clic droit sur le paquet, pour exécuter tous les tests sous le paquet.
- Clic droit sur le fichier xml de la suite TestNG, pour exécuter la suite de tests personnalisée.
- Ou, allez dans Exécuter la configuration pour un meilleur contrôle de la configuration de lancement, par exemple, le groupe de test à exécuter ; transmettez les propriétés du système au processus de test d’exécution, etc.
Réexécutez les tests ayant échoué
Si vous avez plusieurs tests ayant échoué, une fois que vous avez corrigé votre code de test, vous pouvez réexécuter complètement les tests ayant échoué pour gagner du temps:
Intégration Maven
Si votre projet est géré par Maven, vous pouvez configurer maven-surefire-plugin
ou maven-failsafe-plugin
pour exécuter le scénario de test. Supposons que vous transmettiez les arguments JVM et les propriétés système suivants au processus de test d’exécution:
<artifactId>maven-surefire-plugin</artifactId><configuration> <suiteXmlFiles> <suiteXmlFile>test-suite/testng.xml</suiteXmlFile> </suiteXmlFiles> <argLine>-javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar -Xmx1024m -XX:MaxPermSize=512m -Xms256m -Xmx1024m -XX:PermSize=128m -Dversion=${project.version} </argLine> <systemPropertyVariables> <foo>${foo.value}</foo> </systemPropertyVariables> <environmentVariables> <bar>${bar.value}</bar> </environmentVariables></configuration>
Les tests fonctionnent bien avec Maven cli, mvn -e test
, mais peuvent échouer avec n’importe quelle version du plugin Eclipse de TestNG antérieure à 6.9.10. Dans ce cas, vous devrez copier manuellement les propriétés du système pour lancer la configuration pour chaque test.
Heureusement, aujourd’hui, le plugin TestNG Eclipse peut analyser la configuration de maven-surefire/failsafe-plugin
, les ajouter automatiquement à la configuration de lancement. De cette façon, cela rend également le comportement aussi proche que possible de l’exécution sur la ligne de commande. Pour plus de détails, veuillez consulter le guide officiel.
Remarque : La fonctionnalité équivalente pour l’intégration de Gradle avec Eclipse Buildship est en cours de planification, vous pouvez suivre le ticket ici.
Plugin Eclipse de TestNG Interne
Il est utile de comprendre le cœur du plugin Eclipse de TestNG, en particulier lorsque vous rencontrez des difficultés à l’utiliser.
Lorsqu’un test est en cours d’exécution, le plugin doit obtenir les résultats du test du processus de test d’exécution et les afficher sur la vue en temps réel.
La communication entre le plugin et le processus de test d’exécution se fait via le socket. Le plugin démarre d’abord le serveur de socket. Pendant qu’il est sur le processus de test d’exécution, il y a un ensemble d’écouteurs qui se connectent au runtime de TestNG et renvoient les résultats du test au plugin via le socket.
Les fonctionnalités de communication des sockets sont maintenues dans le projet ‘testng-remote’ sur GitHub.
Derniers mots
Nous continuons à améliorer l’expérience du plugin TestNG Eclipse, veuillez envoyer vos commentaires et idées sur le projet GitHub ici.
À propos de l’auteur
Accueil > Liste de produits> Nick Tan
Ebates
- GitHub