Testning på avancerad nivå: JUnit, Mockito och integrationstester · Lektion

Organisera tester med @DisplayName och nästling

Gör Era JUnit 5-testsviter lättlästa och välstrukturerade med beskrivande visningsnamn och nästlade testklasser som grupperar relaterade scenarier.

Lektion 4 av 413 steg

Organisera tester med @DisplayName och nästling är en gratis lektion i Testning på avancerad nivå: JUnit, Mockito och integrationstester på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Testning på avancerad nivå: JUnit, Mockito och integrationstester, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Testning på avancerad nivå: JUnit, Mockito och integrationstester innehåller totalt 4 lektioner.

Tester är dokumentation

En testsvit är mer än ett skyddsnät – den dokumenterar hur koden ska fungera. JUnit 5:s @DisplayName och @Nested gör dokumentationen tydlig.

Problemet med metodnamn

Ett namn som testAdd2 säger nästan ingenting, och metodnamn kan inte innehålla mellanslag eller skiljetecken – därför kan de bara vara uttrycksfulla till en viss grad.

@Test
void testAdd2() { /* ... */ }

Introduktion till @DisplayName

@DisplayName ger ett test en valfri läsbar etikett – med mellanslag, skiljetecken och till och med emoji. Rapporter visar etiketten i stället för metodnamnet.

@Test
@DisplayName("adds two positive numbers correctly")
void addsTwoPositives() {
    assertEquals(5, calc.add(2, 3));
}

Namnge även klassen

Sätt @DisplayName på testklassen också, så att hela enheten som testas beskrivs med ett tydligt språk.

@DisplayName("Calculator")
class CalculatorTest { /* ... */ }

Generatorer för visningsnamn

Vill ni inte annotera varje metod? En generator för visningsnamn omvandlar metodnamn till läsbar text automatiskt.

@DisplayNameGeneration(
    DisplayNameGenerator.ReplaceUnderscores.class)
class CalculatorTest { /* ... */ }

Varför nästlade tester?

Relaterade tester delar ofta kontext – ”varukorgen är tom” jämfört med ”varukorgen innehåller artiklar”. @Nested-klasser grupperar dem så att strukturen speglar beteendet.

Skapa en nästlad klass

Annotera en inre, icke-statisk klass med @Nested, så körs dess tester inom den yttre klassens livscykel.

@Nested
@DisplayName("when cart is empty")
class WhenEmpty {
    @Test
    void totalIsZero() { assertEquals(0, cart.total()); }
}

Delad initiering per grupp

Varje nästlad klass kan ha en egen @BeforeEach, som konfigurerar den specifika kontexten för gruppen utan att påverka dess syskon.

@Nested
class WhenHasItems {
    @BeforeEach
    void addItems() { cart.add(item); }
}

Läsbara testrapporter

Tillsammans skapar visningsnamn och nästling rapporter som läses som specifikationer: ”Kalkylator → vid addition → adderar två positiva tal.” Avsikten framgår direkt.

Beteendedriven struktur

Den här strukturen passar naturligt med stilen given-when-then, så testerna fungerar även som en levande beteendespecifikation för klassen som testas.

Bästa metoder

Skriv självförklarande testsviter: namnge tester efter beteende, inte metod, gruppera scenarier med @Nested, ge varje grupp en egen initiering och sträva efter rapporter som liknar meningar.

Snabb kontroll

@DisplayName eller @Nested – vilken av dem skapar rapporten som liknar en specifikation?

Sammanfattning

Ni organiserade testerna för tydlighet: @DisplayName namnger dem, generatorer automatiserar namngivningen och @Nested grupperar scenarierna till en läsbar specifikation.

Gratis att börja

Lär dig Testning på avancerad nivå: JUnit, Mockito och integrationstester med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Organisera tester med @DisplayName och nästling” gratis?

Ja – hela texten till ”Organisera tester med @DisplayName och nästling” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Testning på avancerad nivå: JUnit, Mockito och integrationstester, kan Ni uppgradera till CoddyKit PRO. Kursen i Testning på avancerad nivå: JUnit, Mockito och integrationstester innehåller totalt 4 lektioner.

Vad lär jag mig i ”Organisera tester med @DisplayName och nästling”?

Gör Era JUnit 5-testsviter lättlästa och välstrukturerade med beskrivande visningsnamn och nästlade testklasser som grupperar relaterade scenarier. Ni övar på Testning på avancerad nivå: JUnit, Mockito och integrationstester med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Testning på avancerad nivå: JUnit, Mockito och integrationstester?

Du behöver inga förkunskaper. Utbildningen i Testning på avancerad nivå: JUnit, Mockito och integrationstester på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Organisera tester med @DisplayName och nästling”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Testning på avancerad nivå: JUnit, Mockito och integrationstester-lektionen?

Ja. Varje Testning på avancerad nivå: JUnit, Mockito och integrationstester-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Introduktion till enhetstestning
  2. Grundläggande JUnit 5-annoteringar
  3. JUnit-assertioner och körning
  4. Organisera tester med @DisplayName och nästling
← Tillbaka till Testning på avancerad nivå: JUnit, Mockito och integrationstester