Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Modulær Testning med JUnit | Testning af Backend-Applikationer
Spring Boot Backend

bookModulæ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.

SimpleTest.

copy
123456789101112
public 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

Navnetklassen, 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 resultatmetoden 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?

question mark

Hvad gør annoteringen @Test i JUnit?

Select the correct answer

question mark

Hvilken navngivningskonvention bør anvendes for testklasser i JUnit?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 2

Spørg AI

expand

Spørg AI

ChatGPT

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

bookModulæ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.

SimpleTest.

copy
123456789101112
public 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

Navnetklassen, 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 resultatmetoden 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?

question mark

Hvad gør annoteringen @Test i JUnit?

Select the correct answer

question mark

Hvilken navngivningskonvention bør anvendes for testklasser i JUnit?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 2
some-alt