Lors de l'examen de ma couverture de code, j'ai remarqué que beaucoup de tests unitaires ne vérifiaient pas les blocs qui tentent de fermer les InputStreams ouverts dans les blocs finally.Les tests unitaires bloquent finalement en Java 6
Un extrait est Exemple:
try {
f = new BufferedInputStream(new FileInputStream(source));
f.read(buffer);
} finally {
if (f != null)
try {
f.close();
} catch (IOException ignored) {
}
}
}
est-il une solution appropriée pour vérifier tout à l'intérieur du bloc enfin en utilisant junit4?
Je sais qu'une couverture de code de 100% n'est pas réalisable tout en gardant à l'esprit une productivité maximale. Cependant, ces lignes rouges sont en quelque sorte un attrape-regard dans le rapport.
Je suis d'accord. Je trouve l'option de simplement surcharger une méthode dans un test très utile, mais c'est souvent une étape intermédiaire sur le chemin du choix de la composition. C# est un PITA à cet égard car les méthodes ne sont pas virtuelles par défaut donc je trouve que je dois souvent sauter tout le chemin (ce qui est gênant car vous voulez travailler avec les plus petits changements possibles). –
Merci, c'était exactement ce que je cherchais :) Merci aussi à Jeff – fyr