Modulär Testning med JUnit
När vi granskade applikationens arkitektur hoppade vi över test-katalogen, som var avsedd för tester. Nu ska vi titta närmare på hur man skriver dessa tester och vad som krävs för att göra det.
Grundläggande begrepp
För testning kommer vi att använda JUnit-biblioteket. Detta är ett av de mest populära ramverken för enhetstestning i Java-applikationer. Det är enkelt att använda och integrera, särskilt med Spring Boot.
För att använda JUnit behöver vi lägga till ett beroende i vår pom.xml-fil.
Nu är vi redo att skriva vårt första test i vår applikation!
Skriva test
Nu kommer vi att skriva ett test som inte är direkt relaterat till vår applikation men som kommer att hjälpa dig att förstå konceptet med testning.
I Spring Boot är tester vanligtvis placerade i katalogen src/test/java, som skapas automatiskt när projektet initieras. Här kan vi skapa vårt test.
Låt oss skapa en klass med namnet SimpleTest, och i den kan vi skapa en testmetod som heter 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); } }
Annoteringen @Test i JUnit anger att metoden är ett test och ska köras under testprocessen.
Inuti testet används en kontroll: assertEquals(4, result), som verifierar att beräkningsresultatet överensstämmer med det förväntade värdet. Om result inte uppfyller förväntningarna kommer testet att misslyckas, vilket indikerar ett problem i programmets logik.
Genom att köra vårt test kan vi se att det har klarat sig utan fel!
Regler för att skriva tester
I enhetstester är det viktigt att följa ett tydligt och strukturerat namngivningssystem för klasser och metoder så att tester blir läsbara och enkla att underhålla.
Namngivning av klasser
Namnet på klassen som testas bör inkludera suffixet Test. Till exempel, om vi testar en klass med namnet BookController, skulle den motsvarande testklassen heta BookControllerTest.
Metodnamngivning
Testmetodernas namn bör vara beskrivande, så att alla som läser dem kan förstå vad som testas. Ett bra namngivningsschema innehåller: (Vad som testas) _ (Under vilka förhållanden) _ (Förväntat resultat).
testCreateUser_whenInputIsValid_shouldReturnCreatedUser
I detta testnamn indikerar testCreateUser att processen för att skapa en användare testas. Nästa del, whenInputIsValid, beskriver de villkor under vilka testet utförs — specifikt när användarinmatningen är giltig. Slutligen specificerar shouldReturnCreatedUser det förväntade resultatet — metoden ska returnera den skapade användaren.
Sammanfattning
Enhetstestning med JUnit möjliggör verifiering av korrektheten hos enskilda delar av en applikation i isolering, vilket säkerställer hög kodkvalitet och systemets stabilitet vid förändringar.
JUnit tillhandahåller smidiga verktyg för skrivning, körning och organisering av tester, vilket gör det till det primära valet för testning av Java-applikationer, inklusive Spring Boot.
1. Vad gör annoteringen @Test i JUnit?
2. Vilken namngivningskonvention bör användas för testklasser i JUnit?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 3.45
Modulär Testning med JUnit
Svep för att visa menyn
När vi granskade applikationens arkitektur hoppade vi över test-katalogen, som var avsedd för tester. Nu ska vi titta närmare på hur man skriver dessa tester och vad som krävs för att göra det.
Grundläggande begrepp
För testning kommer vi att använda JUnit-biblioteket. Detta är ett av de mest populära ramverken för enhetstestning i Java-applikationer. Det är enkelt att använda och integrera, särskilt med Spring Boot.
För att använda JUnit behöver vi lägga till ett beroende i vår pom.xml-fil.
Nu är vi redo att skriva vårt första test i vår applikation!
Skriva test
Nu kommer vi att skriva ett test som inte är direkt relaterat till vår applikation men som kommer att hjälpa dig att förstå konceptet med testning.
I Spring Boot är tester vanligtvis placerade i katalogen src/test/java, som skapas automatiskt när projektet initieras. Här kan vi skapa vårt test.
Låt oss skapa en klass med namnet SimpleTest, och i den kan vi skapa en testmetod som heter 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); } }
Annoteringen @Test i JUnit anger att metoden är ett test och ska köras under testprocessen.
Inuti testet används en kontroll: assertEquals(4, result), som verifierar att beräkningsresultatet överensstämmer med det förväntade värdet. Om result inte uppfyller förväntningarna kommer testet att misslyckas, vilket indikerar ett problem i programmets logik.
Genom att köra vårt test kan vi se att det har klarat sig utan fel!
Regler för att skriva tester
I enhetstester är det viktigt att följa ett tydligt och strukturerat namngivningssystem för klasser och metoder så att tester blir läsbara och enkla att underhålla.
Namngivning av klasser
Namnet på klassen som testas bör inkludera suffixet Test. Till exempel, om vi testar en klass med namnet BookController, skulle den motsvarande testklassen heta BookControllerTest.
Metodnamngivning
Testmetodernas namn bör vara beskrivande, så att alla som läser dem kan förstå vad som testas. Ett bra namngivningsschema innehåller: (Vad som testas) _ (Under vilka förhållanden) _ (Förväntat resultat).
testCreateUser_whenInputIsValid_shouldReturnCreatedUser
I detta testnamn indikerar testCreateUser att processen för att skapa en användare testas. Nästa del, whenInputIsValid, beskriver de villkor under vilka testet utförs — specifikt när användarinmatningen är giltig. Slutligen specificerar shouldReturnCreatedUser det förväntade resultatet — metoden ska returnera den skapade användaren.
Sammanfattning
Enhetstestning med JUnit möjliggör verifiering av korrektheten hos enskilda delar av en applikation i isolering, vilket säkerställer hög kodkvalitet och systemets stabilitet vid förändringar.
JUnit tillhandahåller smidiga verktyg för skrivning, körning och organisering av tester, vilket gör det till det primära valet för testning av Java-applikationer, inklusive Spring Boot.
1. Vad gör annoteringen @Test i JUnit?
2. Vilken namngivningskonvention bör användas för testklasser i JUnit?
Tack för dina kommentarer!