JUnit-assertions og testkørsel
Lær at bruge JUnits assertionsmetoder til at validere testresultater og køre tests effektivt i dit IDE.
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.
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
- Introduktion til unit-testing
- Grundlæggende JUnit 5-annotations
- JUnit-assertions og testkørsel
- Organisering af tests med @DisplayName og nesting