Je pense que vous devriez avoir un test unitaire avec le comportement actuel et dans les commentaires, ajouter le bon test et le bon comportement. Exemple:
@Test
public void test() {
// this is wrong, it should be fixed some time
Assert.assertEquals(2, new Calculator().plus(2,2));
// this is the expected behaviour, replace the above test when the fix is available
// Assert.assertEquals(4, new Calculator().plus(2, 2));
}
De cette façon, lorsque le correctif est disponible, la construction échouera, en remarquant le test ayant échoué. Lorsque vous regarderez le test, vous saurez que vous avez changé le comportement et que le test doit être mis à jour.
EDIT: Comme le dit Captain Man, dans les grands projets, cela ne sera pas réglé de si tôt, mais pour des raisons de documentation, la réponse originale est meilleure que rien.
Une meilleure façon de le faire est de dupliquer le test actuel, en faisant en sorte que le clone affirme la bonne chose et @Ignore
qu’il contienne un message, par exemple:
@Test
public void test() {
Assert.assertEquals(2, new Calculator().plus(2,2));
}
@Ignore("fix me, Calculator is giving the wrong result, see ticket BUG-12345 and delete #test() when fixed")
@Test
public void fixMe() {
Assert.assertEquals(4, new Calculator().plus(2, 2));
}
Cela vient avec la convention dans votre équipe pour réduire le nombre de @Ignore
tests d. Comme vous le feriez avec l'introduction ou la modification du test afin de refléter le bogue, sauf que vous n'échouerez pas la construction si cela est essentiel pour votre équipe, comme OP a dit que le correctif ne sera pas inclus dans la version actuelle. .