Assertions
Vérifier le comportement
Assertions est une leçon Kotlin Academy gratuite sur CoddyKit. Ceci est la leçon 2 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 Kotlin Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kotlin Academy comprend 4 leçons au total.
Qu’est-ce qu’une assertion ?
Une assertion vérifie qu’une valeur réelle correspond à la valeur attendue. En cas d’échec, le test échoue avec un message utile.
JUnit5 fournit des assertions dans org.junit.jupiter.api.Assertions.
assertEquals
L’assertion la plus courante. Notez l’ordre : valeur attendue en premier, valeur réelle en second.
import org.junit.jupiter.api.Assertions.assertEquals
fun main() {
val sum = 2 + 3
assertEquals(5, sum)
println("passed")
}assertTrue et assertFalse
Vérifiez directement les conditions booléennes.
import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Assertions.assertFalse
fun main() {
assertTrue(10 > 5)
assertFalse("".isNotEmpty())
println("ok")
}Assertions sur les valeurs nulles
Utilisez assertNull et assertNotNull pour vérifier la nullabilité. assertNotNull effectue également un smart cast dans de nombreux cas.
import org.junit.jupiter.api.Assertions.assertNotNull
import org.junit.jupiter.api.Assertions.assertNull
fun main() {
val name: String? = "Ada"
assertNotNull(name)
assertNull(null)
println("done")
}Vérifier les exceptions
assertThrows vérifie qu’un bloc lève une exception précise. Il renvoie l’exception afin que vous puissiez examiner son message.
import org.junit.jupiter.api.Assertions.assertThrows
import org.junit.jupiter.api.Assertions.assertEquals
fun main() {
val ex = assertThrows(IllegalArgumentException::class.java) {
require(false) { "bad input" }
}
assertEquals("bad input", ex.message)
println("caught")
}Assertions groupées
assertAll exécute plusieurs assertions et signale tous les échecs ensemble au lieu de s’arrêter au premier.
import org.junit.jupiter.api.Assertions.assertAll
import org.junit.jupiter.api.Assertions.assertEquals
fun main() {
assertAll(
{ assertEquals(2, 1 + 1) },
{ assertEquals(4, 2 + 2) }
)
println("all passed")
}Messages d’échec
Transmettez un message (ou une lambda de message évaluée à la demande) pour rendre les échecs explicites.
import org.junit.jupiter.api.Assertions.assertEquals
fun main() {
val balance = 100
assertEquals(100, balance, "balance should be unchanged")
println("ok")
}Comparer des collections
assertEquals fonctionne avec les listes lorsque l’ordre et le contenu correspondent. Utilisez assertIterableEquals pour des itérables dont les types concrets diffèrent.
import org.junit.jupiter.api.Assertions.assertEquals
fun main() {
val expected = listOf(1, 2, 3)
val actual = (1..3).toList()
assertEquals(expected, actual)
println("lists equal")
}Assertions fluides avec AssertK
Des bibliothèques comme AssertK proposent une syntaxe lisible de type assertThat(x).isEqualTo(y), populaire dans les bases de code Kotlin.
// assertThat(result).isEqualTo(5)
// assertThat(list).contains("a", "b")
// assertThat(name).isNotNull()fail()
Appelez fail pour forcer un échec, ce qui est utile pour marquer des branches inatteignables ou des tests inachevés.
import org.junit.jupiter.api.Assertions.fail
fun process(x: Int): String = when {
x > 0 -> "positive"
else -> fail("unexpected value")
}Choisir la bonne assertion
Choisissez l’assertion la plus spécifique afin d’obtenir des échecs clairs :
- Égalité →
assertEquals - Conditions →
assertTrue/assertFalse - Erreurs →
assertThrows - Vérifications multiples →
assertAll
Vérification rapide
Vous voulez qu’un test signale toutes les vérifications échouées en une seule fois plutôt que de s’arrêter à la première. Que devez-vous utiliser ?
Récapitulatif
Vous connaissez maintenant les assertions de JUnit5 :
assertEquals(valeur attendue en premier),assertTrue/assertFalseassertNull/assertNotNull,assertThrowsassertAllpour regrouper les vérifications- Ajoutez des messages pour plus de clarté
Ensuite : simuler les dépendances avec MockK.
Questions Fréquemment Posées
La leçon « Assertions » est-elle gratuite ?
Oui — le texte complet de « Assertions » 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 Kotlin Academy, passe à CoddyKit PRO. Le cours Kotlin Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Assertions » ?
Vérifier le comportement Tu pratiques Kotlin Academy 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 Kotlin Academy ?
Aucune expérience préalable n'est requise. Kotlin Academy 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 2 sur 4.
Combien de temps prend la leçon « Assertions » ?
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 Kotlin Academy ?
Oui. Chaque leçon Kotlin Academy 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.