Chcete-li být efektivní s TestNG Eclipse Plugin

TestNG je výkonný testovací rámec, který umožňuje vývojářům psát flexibilní testy s seskupování, sekvenování a datově řízené funkce; to dokonce dělá psaní paralelních testů snadné. A nejvýkonnější funkcí, podle mého názoru, je sada posluchačů, která se připojuje k TestNG, což umožňuje lepší kontrolu testovacích případů, nebo rozšířit hlášení, atd.

plugin TestNG Eclipse vám dává možnost spouštět a ladit testovací případy TestNG v Eclipse IDE.

tento článek sdílí několik tipů, jak být efektivní při vytváření a spouštění testů pomocí pluginu TestNG Eclipse.

instalace

TestNG pro Eclipse Plugin je k dispozici na Eclipse Marketplace, postupujte podle instalačního průvodce.

použijte TestNG Eclipse Plugin

Authoring testy

když vytváříte testovací případy TestNG, předdefinované šablony vám určitě pomohou být efektivnější. Chcete-li vytvořit testovací metodu, v editoru zadejte test a poté stiskněte klávesovou zkratku Content Assist (v mém případě “ Alt+/“), Vyberte šablonu, jak je uvedeno níže:

poznámka: k dispozici bude více šablon k dispozici v TestNG Eclipse Plugin 6.10.1, např ‚setup‘,‘ teardown‘, atd.

spustit / ladit testy

Lauching testy

existuje několik způsobů, jak spustit testy, což je velmi užitečné. Zde jsou různé způsoby, jak to lze provést:

  • kliknutím pravým tlačítkem myši na testovací třídu nebo zdrojový editor spusťte tento test.
  • kliknutím pravým tlačítkem myši na balíček spustíte všechny testy pod balíčkem.
  • kliknutím pravým tlačítkem myši na soubor XML TestNG suite spustíte vlastní testovací sadu.
  • nebo přejděte na spustit konfiguraci pro lepší kontrolu nad konfigurací spuštění, například testovací skupina, která má být spuštěna; předejte vlastnosti systému běhovému testovacímu procesu atd.

znovu spusťte neúspěšné testy

pokud máte více neúspěšných testů, po opravě testovacího kódu můžete neúspěšné testy znovu spustit, abyste ušetřili čas:

integrace Maven

pokud je váš projekt spravován Maven, můžete nakonfigurovat maven-surefire-plugin nebo maven-failsafe-plugin pro spuštění testovacího případu. Řekněme, že předáte následující argumenty JVM a vlastnosti systému procesu runtime test:

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

testy běží dobře s Maven cli, mvn -e test, ale může selhat s jakoukoli verzí pluginu TestNG Eclipse před 6.9.10. V takovém případě byste museli ručně zkopírovat vlastnosti systému, abyste spustili konfiguraci pro každý test.

naštěstí dnes může Plugin TestNG Eclipse analyzovat konfiguraci maven-surefire/failsafe-plugin a automaticky je připojit ke konfiguraci spuštění. Tímto způsobem je také chování co nejblíže běhu na příkazovém řádku. Další podrobnosti naleznete v oficiálním průvodci.

Poznámka: ekvivalentní funkce pro integraci Gradle s Eclipse Buildship je v plánu, můžete sledovat lístek zde.

TestNG Eclipse Plugin interní

je užitečné pochopit jádro pluginu TestNG Eclipse, zvláště když máte potíže s jeho používáním.

při spuštění testu musí plugin získat výsledky testů z runtime testovacího procesu a zobrazit je v zobrazení v reálném čase.

komunikace mezi pluginem a runtime testem probíhá přes socket. Plugin nejprve spusťte soketový server. I když je to na runtime testovací proces existuje sada posluchačů, které háček do TestNG runtime a odeslat výsledky testů zpět do pluginu přes socket.

komunikační funkce soketu jsou zachovány v projektu „testng-remote“ na Githubu.

závěrečná slova

neustále zlepšujeme zkušenosti s pluginem TestNG Eclipse, prosím pošlete svůj názor a nápady na projekt GitHub zde.

o autorovi

XuQing Tan

Nick Tan
Ebates

  • GitHub
  • LinkedIn

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.