om efficiënt te zijn met de TestNG Eclipse Plugin

TestNG is een krachtig testkader dat ontwikkelaars in staat stelt om flexibele tests te schrijven met eigenschappen voor groeperen, sequencen en data-driven; het maakt het zelfs gemakkelijk om parallelle tests te schrijven. En de meest krachtige functie, in mijn ogen, is een set van luisteraars die haken in TestNG, die het mogelijk maakt om een betere controle van de testcases, of het vergroten van de rapportage, enz.

de TestNG Eclipse plugin geeft u de mogelijkheid om TestNG testcases binnen Eclipse IDE uit te voeren en te debuggen.

dit artikel deelt enkele tips over hoe u efficiënt kunt zijn bij het schrijven en uitvoeren van tests met de TestNG Eclipse Plugin.

installatie

TestNG voor Eclipse Plugin is beschikbaar op Eclipse Marketplace, volg de installatiehandleiding.

gebruik de TestNG Eclipse-Plugin

Authoring Tests

wanneer u de TestNG-testcases ontwerpt, kunnen de vooraf gedefinieerde sjablonen u zeker helpen efficiënter te zijn. Als u een testmethode wilt maken, typt u in de editor test en drukt u vervolgens op de sneltoets Content Assist (‘Alt+ /’ in mijn geval), selecteert u de sjabloon zoals hieronder:

Opmerking: Er zullen meer sjablonen beschikbaar zijn in TestNG Eclipse Plugin 6.10.1, bijvoorbeeld ‘setup’, ’teardown’, etc.

Run / Debug Tests

Lauching Tests

er zijn verschillende manieren om tests te starten, wat erg handig is. Hier zijn de verschillende manieren waarop het kan worden gedaan:

  • rechts klikken op de test klasse of de bron editor, om die test uit te voeren.
  • rechts klikken op het pakket, om alle tests onder het pakket uit te voeren.
  • rechts klikken op het TestNG suite xml bestand, om de aangepaste test suite uit te voeren.
  • of ga naar configuratie uitvoeren voor een betere controle over de opstartconfiguratie, bijvoorbeeld de testgroep die moet worden uitgevoerd; geef Systeemeigenschappen door aan het testproces van runtime, enz.

mislukte Tests opnieuw uitvoeren

als u meerdere mislukte tests hebt, nadat u uw testcode hebt gerepareerd, kunt u de mislukte tests helemaal opnieuw uitvoeren om tijd te besparen:

Maven Integration

als uw project wordt beheerd door Maven, kunt u maven-surefire-plugin of maven-failsafe-plugin configureren om de TestCASE uit te voeren. Stel dat je de volgende JVM argumenten en Systeemeigenschappen doorgeeft aan het runtime testproces:

<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>

de tests lopen goed met Maven cli, mvn -e test, maar kunnen mislukken met elke TestNG Eclipse Plugin versie vóór 6.9.10. In dat geval moet u de systeemeigenschappen handmatig kopiëren om de configuratie voor elke test te starten.

gelukkig kan de TestNG Eclipse Plugin vandaag de configuratie van maven-surefire/failsafe-plugin ontleden, ze automatisch toevoegen aan de opstartconfiguratie. Op deze manier maakt het ook het gedrag zo dicht mogelijk bij het draaien op de opdrachtregel. Voor meer informatie, zie de officiële gids.

Opmerking: De gelijkwaardige functie voor Gradle-integratie met Eclipse Buildship is onder planning, u kunt het ticket hier volgen.

TestNG Eclipse Plugin intern

het is handig om de kern van de TestNG Eclipse plugin te begrijpen, vooral als je problemen hebt met het gebruik ervan.

wanneer een test wordt uitgevoerd, moet de plugin de testresultaten van het runtime-testproces ophalen en deze in realtime in de weergave weergeven.

de communicatie tussen de plug-in en het runtime-testproces vindt plaats via een socket. De plugin start eerst de socket server. Terwijl het op de runtime testproces zijn er een set van luisteraars die haak in TestNG runtime en stuur de testresultaten terug naar plugin via socket.

de socket communicatie functionaliteiten worden onderhouden in het project ’testng-remote’ op GitHub.

Laatste Woorden

we blijven de ervaring van de TestNG Eclipse Plugin verbeteren, stuur hier uw feedback en ideeën over het GitHub project.

over de auteur

XuQing Tan

Nick Tan
Ebates

  • GitHub
  • LinkedIn

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.