Bonjour,
j'ai une méthode avec plusieurs catch :
Et un fichier de tests dont les classes de test pour les deux premières exceptions sont :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 try { essaisQuelquechose(); } catch(MissingOptionException moe) { printException(moe, constructPosixOptions()); } catch(MissingArgumentException mae){ printException(mae, constructPosixOptions()); } catch(UnrecognizedOptionException uoe) { printException(uoe, constructPosixOptions()); } catch(AlreadySelectedException ase) { printException(ase, constructPosixOptions()); } catch(ParseException pe) { printException(pe, constructPosixOptions()); } catch(Exception e){ printException(e, constructPosixOptions()); }
Lorsque je lance le test, la première classe est bien testée, mais pas la seconde, ni les suivantes, alors que chaque test passe si je l'isole des autres tests d'exceptions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 /** * Test la levée d'une exception dans le cas d'une omission d'argument. */ @Test(expected=MissingArgumentException.class) public void testUsePosixParserOptionMissingArgumentException() { miniCli = new MiniCli(); String[] args = {"-l"}; miniCli.usePosixParser(args); } /** * Test la levée d'une exception dans le cas d'une option inconnue. */ @Test(expected=UnrecognizedOptionException.class) public void testUsePosixParserOptionUnrecognizedOptionException() { miniCli = new MiniCli(); String[] args = {"-z"}; miniCli.usePosixParser(args); }
La question est : comment passer tous les tests d'exception en même temps ?
Merci de vos suggestions
Partager