Hvad er parametreret test i Junit?
Parametreret test er at udføre den samme test igen og igen ved hjælp af forskellige værdier. Det hjælper udvikleren med at spare tid ved udførelse af samme test, som kun adskiller sig i deres input og forventede resultater.
Ved hjælp af parametreret test kan man indstille en testmetode, der henter data fra en datakilde.
Overvej en simpel test for at sammenfatte forskellige tal. Koden kan se ud -
Fremgangsmåden ovenfor fører til meget redundans.
Vi har brug for en enkel tilgang og. Ved hjælp af parametreret test kan du bare tilføje en metode til input af 10 dataindgange, og din test kører 10 gange automatisk.
Trin til at oprette en parametreret JUnit-test
Følgende kode viser et eksempel på en parametreret test. Det tester sum () -metoden i aritmetikklassen:
Trin 1) Opret en klasse. I dette eksempel skal vi indtaste to tal ved hjælp af sum (int, int) metode, som returnerer summen af givne tal
Trin 2) Opret en parametreret testklasse
Kode Forklaring
- Kodelinje 11: Kommenter din testklasse ved hjælp af @runWith (Parameterized.class).
- Kodelinje 13: Erklærer variablen 'firstNumber' som privat og skriv som int.
- Kodelinje 14: Erklæring om variablen 'secondNumber' som privat og skriv som int.
- Kodelinje 15: Erklæring om variablen 'forventet resultat' som privat og skriv som int.
- Kodelinje 16: Erklæring af variablen 'airthematic' som privat og skriv som Airthematic.
@RunWith (class_name.class): @RunWith- kommentar bruges til at specificere dets løberklassens navn. Hvis vi ikke angiver nogen type som parameter, vælger runtime som standard BlockJunit4ClassRunner .
Denne klasse er ansvarlig for tests, der skal køre med en ny testinstans. Det er ansvarligt for at påberåbe sig JUnit-livscyklusmetoder såsom opsætning (tilknyttede ressourcer) og nedrivning (frigivelsesressourcer).
For at parametrere skal du kommentere ved hjælp af @RunWith og videregive den krævede. Klasse, der skal testes
Trin 3) Opret en konstruktør, der gemmer testdataene. Den gemmer 3 variabler
Trin 4) Opret en statisk metode, der genererer og returnerer testdata.
Kodelinje 32,33: Oprettelse af et todimensionelt array (leverer inputparametre til tilføjelse). Ved hjælp af asList-metoden konverterer vi dataene til en List-type. Siden er returneringstypen af metodeinput indsamling.
Kodelinje 30: Brug @Parameters- kommentar til at oprette et sæt inputdata til at køre vores test.
Den statiske metode, der er identificeret ved @Parameters-kommentaren, returnerer en samling, hvor hver post i samlingen vil være inputdata for en iteration af testen.
Overvej de elemenente
{1,2,3}
Her
firstNumber = 1
secondNumber = 2
forventet resultat = 3
Her vil hvert matrixelement blive sendt til konstruktøren, en ad gangen, da klassen instantieres flere gange.
Trin 5) Den komplette kode
Kode Forklaring:
- Kodelinje 25: Brug @Before-kommentar til at indstille ressourcerne (Airthematic.class her). @Før-kommentaren bruges her til at køre før hver testtilfælde. Den indeholder en forudsætning for testen.
- Kodelinje 36: Brug af @Test-kommentar til at oprette vores test.
- Kodelinje 39: Oprettelse af en erklæring om, at vores sum svarer til det, vi forventede.
Trin 6) Opret en testløberklasse for at køre parametreret test:
Kode Forklaring:
- Kodelinje 8: Erklærer hovedmetoden til klassetesten, der kører vores JUnit-test.
- Kodelinje 9: Udførelse af testsager ved hjælp af JunitCore.runclasses, det tager testklassens navn som en parameter (I vores eksempel bruger vi Airthematic.class).
- Kodelinje 11: Behandling af resultatet ved hjælp af loop og udskrivning af mislykket resultat.
- Kodelinje 13: Udskrivning af det vellykkede resultat.
Produktion:
Her er output, der viser vellykket test uden fejlsporing som angivet nedenfor:
Se resultatet på konsollen, som viser tilføjelse af to tal: -
Resume :
Parametreret test gør det muligt for udvikler at udføre den samme test igen og igen ved hjælp af forskellige værdier.
Vigtige kommentarer, der skal bruges under parametrering
- @RunWith
- @Parameters