Mestrer test: JUnit, Mockito og integrationstest · Lektion

JUnit-assertions og testkørsel

Lær at bruge JUnits assertionsmetoder til at validere testresultater og køre tests effektivt i dit IDE.

Lektion 3 af 411 trin

JUnit-assertions og testkørsel er en gratis Mestrer test: JUnit, Mockito og integrationstest-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Mestrer test: JUnit, Mockito og integrationstest, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Mestrer test: JUnit, Mockito og integrationstest-kurset indeholder 4 lektioner i alt.

Hvad er kontroller?

Kontroller afgør, om en test består eller fejler: De verificerer, at en betingelse er sand, og hvis den ikke er det, fejler testen og markerer problemet.

Kontrol af lighed

assertEquals() er arbejdshesten: Giv den den forventede værdi og den faktiske værdi, så består testen kun, når de stemmer overens.

`assertEquals` i praksis

Her bruger assertEquals du til at kontrollere en sum: Sammenlign det forventede resultat med det, din metode returnerer. Hvis de stemmer overens, består testen.

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class MathUtilsTest {

    // A simple method to test
    int add(int a, int b) {
        return a + b;
    }

    @Test
    void testAddMethod() {
        // Expected result: 5
        int expected = 5;
        // Actual result from our method
        int actual = add(2, 3);
        
        // Assert that expected and actual are the same
        assertEquals(expected, actual, "2 + 3 should be 5");
    }
}

Kontrol af booleske betingelser

Brug assertTrue og assertFalse til at kontrollere logiske resultater — de består, når betingelsen henholdsvis er sand eller falsk.

`assertTrue` i praksis

Her bekræfter assertTrue, at et tal er positivt — en enkel måde at validere enhver boolesk betingelse på.

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;

public class NumberCheckerTest {

    // A simple method to test
    boolean isPositive(int number) {
        return number > 0;
    }

    @Test
    void testIsPositive() {
        int num = 10;
        // Assert that num is positive
        assertTrue(isPositive(num), num + " should be positive");
    }
}

Håndtering af null-værdier

Brug assertNotNull og assertNull til null-kontroller — det er afgørende for at opdage NullPointerExceptions, før de giver problemer.

Demo af `assertNotNull`

Her verificerer assertNotNull og assertNull et opslag, der returnerer en bruger eller null, når der ikke findes nogen.

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;

public class UserServiceTest {

    // Dummy method simulating fetching a user
    String getUserById(int id) {
        if (id == 1) {
            return "Alice"; // User found
        }
        return null; // User not found
    }

    @Test
    void testExistingUser() {
        String user = getUserById(1);
        assertNotNull(user, "User with ID 1 should exist");
    }

    @Test
    void testNonExistingUser() {
        String user = getUserById(99);
        assertNull(user, "User with ID 99 should not exist");
    }
}

Kørsel af JUnit-test

Det er nemt at køre test: De fleste IDE'er har indbygget JUnit-understøttelse — højreklik på en klasse eller metode, vælg Kør, og læs resultaterne i resultatvinduet.

Forstå bestået/fejlet

Det er enkelt at læse resultaterne: Grøn betyder, at alle test bestod, mens rød betyder, at en kontrol fejlede, og at der sandsynligvis er en fejl. Klik på en fejl for at se detaljer.

Kontroludfordring

Se på følgende enkle metode og test. Hvad bliver resultatet, når denne test køres?

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class SimpleCalculatorTest {
    int subtract(int a, int b) {
        return a - b;
    }

    @Test
    void testSubtract() {
        assertEquals(10, subtract(15, 5));
    }
}

Opsummering: Kontroller og kørsel

Du kan nu validere kode med JUnits kontroller — assertEquals, assertTrue, assertNull og flere — og køre test direkte i din IDE.

Gratis at komme i gang

Lær Mestrer test: JUnit, Mockito og integrationstest med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “JUnit-assertions og testkørsel” gratis?

Ja — hele teksten til “JUnit-assertions og testkørsel” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Mestrer test: JUnit, Mockito og integrationstest-kurset, skal du opgradere til CoddyKit PRO. Mestrer test: JUnit, Mockito og integrationstest-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “JUnit-assertions og testkørsel”?

Lær at bruge JUnits assertionsmetoder til at validere testresultater og køre tests effektivt i dit IDE. Du øver dig i Mestrer test: JUnit, Mockito og integrationstest med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Mestrer test: JUnit, Mockito og integrationstest?

Der kræves ingen tidligere erfaring. Mestrer test: JUnit, Mockito og integrationstest på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “JUnit-assertions og testkørsel”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Mestrer test: JUnit, Mockito og integrationstest-lektion?

Ja. Alle Mestrer test: JUnit, Mockito og integrationstest-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Introduktion til unit-testing
  2. Grundlæggende JUnit 5-annotations
  3. JUnit-assertions og testkørsel
  4. Organisering af tests med @DisplayName og nesting
← Tilbage til Mestrer test: JUnit, Mockito og integrationstest