Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Modulär Testning med JUnit | Testning av Backendapplikationer
Spring Boot Backend

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

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); } }

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

Namnetklassen 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 resultatetmetoden 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?

question mark

Vad gör annoteringen @Test i JUnit?

Select the correct answer

question mark

Vilken namngivningskonvention bör användas för testklasser i JUnit?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 2

Fråga AI

expand

Fråga AI

ChatGPT

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

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

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); } }

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

Namnetklassen 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 resultatetmetoden 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?

question mark

Vad gör annoteringen @Test i JUnit?

Select the correct answer

question mark

Vilken namngivningskonvention bör användas för testklasser i JUnit?

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 2
some-alt