Я думаю, что у вас должен быть модульный тест с текущим поведением и в комментариях, добавить правильный тест и правильное поведение. Пример:
@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));
}
Таким образом, когда исправление доступно, сборка завершится неудачно, и вы заметите, что вы провалили тест. Когда вы посмотрите на тест, вы узнаете, что изменили поведение, и тест должен быть обновлен.
РЕДАКТИРОВАТЬ: Как сказал капитан Мэн, в больших проектах это не будет исправлено в ближайшее время, но ради документации, оригинальный ответ лучше, чем ничего.
Лучший способ сделать это - продублировать текущий тест, заставив клона подтвердить правильность, и @Ignore
это с помощью сообщения, например
@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));
}
Это связано с тем, что в вашей команде принято сокращать количество @Ignore
d-тестов. Точно так же, как если бы вы вводили или изменяли тест для отражения ошибки, за исключением того, что вы не провалите сборку, если это критично для вашей команды, как, например, OP заявил, что исправление не будет включено в текущий выпуск ,