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
Nick Tan
Ebates
- GitHub