Modulær Testning med JUnit
Da vi gennemgik applikationens arkitektur, sprang vi test-mappen over, som var tiltænkt tests. Nu vil vi tage et nærmere kig på, hvordan man skriver disse tests, og hvad der kræves for at gøre dette.
Grundlæggende begreber
Til testning anvender vi JUnit-biblioteket. Dette er et af de mest populære frameworks til enhedstest i Java-applikationer. Det er nemt at bruge og integrere, især med Spring Boot.
For at bruge JUnit skal vi tilføje en afhængighed til vores pom.xml-fil.
Nu er vi klar til at skrive vores første test i vores applikation!
Skrivning af test
Nu vil vi skrive en test, der ikke er direkte relateret til vores applikation, men som vil hjælpe dig med at forstå konceptet bag testning.
I Spring Boot er tests typisk placeret i src/test/java mappen, som automatisk oprettes ved initialisering af projektet. Her kan vi oprette vores test.
Lad os oprette en klasse ved navn SimpleTest, og inden i den kan vi oprette en test-metode kaldet testSum().
SimpleTest.
123456789101112public class SimpleTest { // This method tests the sum of two integers. @Test public void testSum() { // Perform the sum of 2 and 2 and store the result in a variable. int result = 2 + 2; // Assert that the result is equal to 4. assertEquals(4, result); } }
@Test annotationen i JUnit angiver, at metoden er en test og skal udføres under testprocessen.
Inde i testen anvendes en assertion: assertEquals(4, result), som kontrollerer, at beregningsresultatet stemmer overens med den forventede værdi. Hvis result ikke opfylder forventningerne, vil testen blive betragtet som mislykket, hvilket indikerer et problem i programmets logik.
Ved at køre vores test kan vi se, at den er gennemført med succes!
Regler for at skrive tests
I enhedstests er det vigtigt at følge et klart og struktureret navngivningssystem for klasser og metoder, så tests er læsbare og nemme at vedligeholde.
Klassenavne
Navnet på klassen, der testes, bør inkludere endelsen Test. For eksempel, hvis vi tester en klasse ved navn BookController, vil den tilsvarende testklasse hedde BookControllerTest.
Metodenavne
Testmetodenavne bør være beskrivende, så enhver læser kan forstå, hvad der bliver testet. En god navngivningsstruktur indeholder: (Hvad der testes) _ (Under hvilke betingelser) _ (Forventet resultat).
testCreateUser_whenInputIsValid_shouldReturnCreatedUser
I dette testnavn angiver testCreateUser, at processen med oprettelse af en bruger bliver testet. Næste del, whenInputIsValid, beskriver de betingelser, hvorunder testen udføres — specifikt, når brugerinput er gyldigt. Til sidst specificerer shouldReturnCreatedUser det forventede resultat — metoden skal returnere den oprettede bruger.
Resumé
Enhedstest ved brug af JUnit muliggør verificering af korrektheden af individuelle dele af en applikation i isolation, hvilket sikrer høj kodekvalitet og systemets stabilitet ved ændringer.
JUnit tilbyder praktiske værktøjer til skrivning, udførelse og organisering af tests, hvilket gør det til det primære valg for test af Java-applikationer, herunder Spring Boot.
1. Hvad gør annoteringen @Test i JUnit?
2. Hvilken navngivningskonvention bør anvendes for testklasser i JUnit?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 3.45
Modulær Testning med JUnit
Stryg for at vise menuen
Da vi gennemgik applikationens arkitektur, sprang vi test-mappen over, som var tiltænkt tests. Nu vil vi tage et nærmere kig på, hvordan man skriver disse tests, og hvad der kræves for at gøre dette.
Grundlæggende begreber
Til testning anvender vi JUnit-biblioteket. Dette er et af de mest populære frameworks til enhedstest i Java-applikationer. Det er nemt at bruge og integrere, især med Spring Boot.
For at bruge JUnit skal vi tilføje en afhængighed til vores pom.xml-fil.
Nu er vi klar til at skrive vores første test i vores applikation!
Skrivning af test
Nu vil vi skrive en test, der ikke er direkte relateret til vores applikation, men som vil hjælpe dig med at forstå konceptet bag testning.
I Spring Boot er tests typisk placeret i src/test/java mappen, som automatisk oprettes ved initialisering af projektet. Her kan vi oprette vores test.
Lad os oprette en klasse ved navn SimpleTest, og inden i den kan vi oprette en test-metode kaldet testSum().
SimpleTest.
123456789101112public class SimpleTest { // This method tests the sum of two integers. @Test public void testSum() { // Perform the sum of 2 and 2 and store the result in a variable. int result = 2 + 2; // Assert that the result is equal to 4. assertEquals(4, result); } }
@Test annotationen i JUnit angiver, at metoden er en test og skal udføres under testprocessen.
Inde i testen anvendes en assertion: assertEquals(4, result), som kontrollerer, at beregningsresultatet stemmer overens med den forventede værdi. Hvis result ikke opfylder forventningerne, vil testen blive betragtet som mislykket, hvilket indikerer et problem i programmets logik.
Ved at køre vores test kan vi se, at den er gennemført med succes!
Regler for at skrive tests
I enhedstests er det vigtigt at følge et klart og struktureret navngivningssystem for klasser og metoder, så tests er læsbare og nemme at vedligeholde.
Klassenavne
Navnet på klassen, der testes, bør inkludere endelsen Test. For eksempel, hvis vi tester en klasse ved navn BookController, vil den tilsvarende testklasse hedde BookControllerTest.
Metodenavne
Testmetodenavne bør være beskrivende, så enhver læser kan forstå, hvad der bliver testet. En god navngivningsstruktur indeholder: (Hvad der testes) _ (Under hvilke betingelser) _ (Forventet resultat).
testCreateUser_whenInputIsValid_shouldReturnCreatedUser
I dette testnavn angiver testCreateUser, at processen med oprettelse af en bruger bliver testet. Næste del, whenInputIsValid, beskriver de betingelser, hvorunder testen udføres — specifikt, når brugerinput er gyldigt. Til sidst specificerer shouldReturnCreatedUser det forventede resultat — metoden skal returnere den oprettede bruger.
Resumé
Enhedstest ved brug af JUnit muliggør verificering af korrektheden af individuelle dele af en applikation i isolation, hvilket sikrer høj kodekvalitet og systemets stabilitet ved ændringer.
JUnit tilbyder praktiske værktøjer til skrivning, udførelse og organisering af tests, hvilket gør det til det primære valg for test af Java-applikationer, herunder Spring Boot.
1. Hvad gør annoteringen @Test i JUnit?
2. Hvilken navngivningskonvention bør anvendes for testklasser i JUnit?
Tak for dine kommentarer!