Assertions et exécution avec JUnit
Apprenez à utiliser les méthodes d'assertion de JUnit pour valider les résultats des tests et exécuter efficacement les tests dans votre environnement de développement intégré.
Assertions et exécution avec JUnit est une leçon Testing Mastery: JUnit, Mockito & Integration Tests gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Testing Mastery: JUnit, Mockito & Integration Tests, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Testing Mastery: JUnit, Mockito & Integration Tests comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
What are Assertions?
Assertions are the checks that decide pass or fail: they verify a condition is true, and if it isn’t, the test fails and flags the problem.
Checking for Equality
assertEquals() is the workhorse: pass it the expected value and the actual value, and the test passes only when they match.
`assertEquals` in Action
Here’s assertEquals verifying a sum: compare the expected result against what your method returns. Match means pass.
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");
}
}Checking Boolean Conditions
To check logical outcomes, use assertTrue and assertFalse — they pass when the condition is true or false respectively.
`assertTrue` in Practice
Here assertTrue confirms a number is positive — a clean way to validate any boolean condition.
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");
}
}Handling Null Values
For null checks, use assertNotNull and assertNull — crucial for catching NullPointerExceptions before they bite.
`assertNotNull` Demo
Here assertNotNull and assertNull verify a lookup that returns a user or null when none is found.
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");
}
}Executing JUnit Tests
Running tests is easy: most IDEs have built-in JUnit support — right-click a class or method, hit Run, and read the results window.
Understanding Pass/Fail
Reading results is simple: green means all tests passed, red means an assertion failed and there’s likely a bug. Click a failure for details.
Assertion Challenge
Consider the following simple method and test. What will be the outcome of running this test?
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));
}
}Recap: Assertions & Execution
You can now validate code with JUnit assertions — assertEquals, assertTrue, assertNull and friends — and run tests right in your IDE.
Questions Fréquemment Posées
La leçon « Assertions et exécution avec JUnit » est-elle gratuite ?
Oui — le texte complet de « Assertions et exécution avec JUnit » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Testing Mastery: JUnit, Mockito & Integration Tests, passe à CoddyKit PRO. Le cours Testing Mastery: JUnit, Mockito & Integration Tests comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Assertions et exécution avec JUnit » ?
Apprenez à utiliser les méthodes d'assertion de JUnit pour valider les résultats des tests et exécuter efficacement les tests dans votre environnement de développement intégré. Tu pratiques Testing Mastery: JUnit, Mockito & Integration Tests avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Testing Mastery: JUnit, Mockito & Integration Tests ?
Aucune expérience préalable n'est requise. Testing Mastery: JUnit, Mockito & Integration Tests sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Assertions et exécution avec JUnit » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Testing Mastery: JUnit, Mockito & Integration Tests ?
Oui. Chaque leçon Testing Mastery: JUnit, Mockito & Integration Tests inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Introduction aux tests unitaires
- Annotations JUnit 5 essentielles
- Assertions et exécution avec JUnit
- Organiser les tests avec @DisplayName et l’imbrication