Eu acho que você deve ter um teste de unidade com o comportamento atual e, nos comentários, adicionar o teste e o comportamento certos. Exemplo:
@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));
}
Dessa forma, quando a correção estiver disponível, a construção falhará, notando o teste que falhou. Ao analisar o teste, você saberá que mudou o comportamento e o teste deve ser atualizado.
EDIT: Como o Capitão Man disse, em grandes projetos, isso não será corrigido tão cedo, mas para o bem da documentação, a resposta original é melhor do que nada.
Uma maneira melhor de fazer isso é duplicar o teste atual, fazendo com que o clone afirme a coisa certa e @Ignore
com uma mensagem, por exemplo
@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));
}
Isso vem com a convenção da sua equipe para reduzir o número de @Ignore
testes d. Da mesma maneira que você faria com a introdução ou alteração do teste para refletir o bug, exceto que você não falha na compilação se isso for crítico para sua equipe, como a OP disse que o bugfix não será incluído na versão atual .