poop

Comment tester un programme

Best practice : tester non pas le code mais que la fonction fait ce qu’elle décrit (On ignore donc le contenu exact de la fonction qu’on teste, se basant uniquement sur la javadoc)

Créer un directory séparé pour les tests (mais dans le même paquetage)

Avoir une fonction check qui print si un test passe ou pas est une bonne idée

Vérifier avec des try-catch si les fonctions font des erreurs (voulues ou non)

Junit

Annotation @Test

utilisation de divers asserts (assert equals, assert throws, etc…)

valeur attendue valeur computée (dans assert equals)

assert throws prend la classe de l’exception (Exception.class), et une fonction lambda contenant notre fonction à tester (() -> {...})

Exemple -- assertThrows

@Test
void assertThrowsTest() {
 assertThrows(ExpectedException.class, () -> {
   functionToTest();
 });
}