TestNG, där NG står för ”next generation” är ett testautomationsramverk inspirerat av JUnit (i Java) och NUnit (i C#). TestNG kan användas för enhetstestning, funktionstestning, integrationstestning och end-to-end-testning.
TestNG har snabbt vunnit mycket popularitet och är ett av de mest använda testramarna bland Java-utvecklare. Den använder främst Java-anteckningar för att konfigurera och skriva testmetoder, mycket lik JUnit.
introduktion av TestNG
vissa funktioner som TestNG har över JUnit:
- Extra före och efter anteckningar som före/efter Svit och Före/Efter grupp
- beroende testning
- mer flexibel gruppering av testmetoder
- multi-threaded execution
- inbyggd strong reporting framework
TestNG är skriven i Java och kan användas med Java och andra Java-relaterade språk som Groovy.
i TestNG konfigureras eller beskrivs sviter och tester huvudsakligen via XML-filer. Som standard är namnet på filen testng.xml
, men vi kan ge det något annat namn om vi vill.
TestNG tillåter utvecklarna att skriva testsviterna i XML-filer och göra det möjligt för dem att inkludera (eller utesluta) respektive paket, klasser och metoder i sin testsvit. Det gör det också möjligt för utvecklare att gruppera testmetoder i särskilda namngivna grupper och att inkludera eller utesluta dem som en del av testkörningen.
fördelar med TestNG
låt oss nu upptäcka fler funktioner/fördelar som erbjuds av TestNG.
- flera före och efter annoteringsalternativ
- XML-baserad testkonfiguration och testsvitdefinition
- beroende metoder
- namngivna grupper / grupp av grupper
- beroende grupper
- parametrering av testmetoder
- datadriven testning
- multi-threaded test execution
- bättre rapportering
installera TestNG i Eclipse
innan vi kan ladda ner och börja använda TestNG bör vi ha minst Java 8 eller högre installerat på vårt system.
kopiera den senaste uppdateringsadressen från uppdateringswebbplatsen.
använd ovanstående URL för att installera TestNG-stöd i Eclipse. Gå till alternativet: Hjälp > installera ny programvara.
klicka på Lägg till-knappen och välj de komponenter som ska installeras.
samtycka med något licensavtal om du blir ombedd. TestNG-stöd kommer att installeras de närmaste minuterna i Eclipse IDE.
det kan be om att starta om IDE efter avslutad installation. Vänligen starta om.
skapa Java-projekt med TestNG-beroenden
innan vi skriver vårt första TestNG-test måste vi skapa ett Java-projekt i Eclipse och inkludera våra TestNG-beroenden.
gå till Arkiv | Ny | annat. Ett fönster med flera alternativ visas.
Välj Nytt Maven-projekt som visas i följande skärmdump och klicka på Nästa.
välj lämplig Maven-arketyp.
fyll i projektets Maven-koordinater.
som standard inkluderar Maven Junit-beroendet i filen pom.xml
. Vi måste ta bort JUnit-beroendet och inkludera det senaste TestNG-beroendet.
<dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>7.4.0</version><scope>test</scope></dependency>
nu är vi bra att skriva våra tester med TestNG.
skapa vår första TestNG klass
innan detta kan du ta bort alla befintliga Auto-skapa JUnit test klass, om någon. Utför nu följande steg för att skapa vår första TestNG-klass:
1. Gå till Arkiv / Nytt / annat. Detta öppnar ett nytt add wizard-fönster i Eclipse.
2. Välj TestNG-klass i fönstret Lägg till guide och klicka på Nästa.
3. I nästa fönster klickar du på Bläddra-knappen och väljer Java-projektet där du behöver lägga till din klass.
4. Ange paketnamnet och testklassnamnet och klicka på Slutför.
5. Det här fönstret ger dig också möjlighet att välja olika anteckningar när du skapar en ny TestNG-klass. Om valt, plugin kommer att generera dummy metoder för dessa anteckningar samtidigt generera klassen. Detta kommer att lägga till en ny TestNG-klass i vårt projekt.
package com.howtodoinjava.testng.examples;import org.testng.annotations.Test;import org.testng.annotations.BeforeTest;import org.testng.annotations.AfterTest;public class AppTest { @Test public void f() { } @BeforeTest public void beforeTest() { } @AfterTest public void afterTest() { }}
vi har framgångsrikt lagt till en ny TestNG-testklass till det nyskapade Java-projektet i Eclipse. Känn dig fri att ändra koden efter behov. Låt oss nu köra den nyskapade testklassen genom Eclipse.
kör TestNG test
5.1. Genvägsalternativ
Lägg märke till testklassen i Eclipse IDE. Du kommer att se några suddiga texter som ”kör alla” eller ”kör | felsöka”. Det här är genvägarna vi kan använda för att köra eller felsöka en enda testmetod eller testklass med ett enkelt musklick.
om du inte ser ovanstående genvägar av någon anledning, följ sedan de angivna stegen för att skapa TestNG-körkonfigurationen och kör den.
5.2. Skapa körkonfiguration
utför följande steg för att köra tester genom Eclipse:
1. Välj Java-projektet i Eclipse och gå till Kör | Kör konfiguration.
2. Välj TestNG i de angivna alternativen och klicka på knappen Ny för att skapa en ny konfiguration.
3. Observera att TestNG plugin ger flera alternativ för att köra dina testfall enligt följande:
- klass: med det här alternativet kan du ange klassnamnet tillsammans med paketet för att bara köra den nämnda specifika testklassen.
- metod: Med detta kan du bara köra en specifik metod i en testklass.
- grupper: om du vill köra specifika testmetoder som tillhör en viss TestNG-grupp kan du ange dem här för att köra dem.
- paket: om du vill utföra alla tester i ett paket kan du ange dessa i den här rutan.
- Suite: om du har suite-filer i form av
testing.xml
– filer kan du välja de här för körning.
låt oss ange konfigurationsnamnet som TestNGRunConfig
och välj den nyskapade klassen under Klassavsnittet och klicka på Verkställ.
4. Nu om du vill köra den nyskapade konfigurationen klickar du bara på Kör efter att ha klickat på Apply.
detta kommer att kompilera och köra TestNG testklass som vi har skrivit. Resultatet av testkörningen visas i konsolen och resulterar i Windows of Eclipse som visas i följande skärmdump.
Running: C:\Users\somelocalpath\testng-customsuite.xmlPASSED: f=============================================== Default test Tests run: 1, Failures: 0, Skips: 0==============================================================================================Default suiteTotal tests run: 1, Failures: 0, Skips: 0=============================================== Time taken by org.testng.reporters.XMLReporter@177b3cd: 23 ms Time taken by : 0 ms Time taken by org.testng.reporters.jq.Main@b8deef: 46 ms Time taken by org.testng.reporters.JUnitReportReporter@10ab323: 12 ms Time taken by org.testng.reporters.EmailableReporter2@5e176f: 13 ms Time taken by org.testng.reporters.SuiteHTMLReporter@d1e89e: 142 ms
du kan också köra testklassen genom att välja den och sedan högerklicka på den, välja Kör som från menyn och sedan välja TestNG Test.
i denna TestNG handledning, vi lärt oss om TestNG, funktioner som erbjuds av TestNG, installera TestNG plugin i Eclipse och skriva och utföra en TestNG tester genom Eclipse.
Lyckligt Lärande !!