Как написать pitest (тест на мутацию) для метода hashcode() в java

Я пишу тест на мутацию для метода хэш-кода. Ниже мой кусок кода

@Override
 public int hashCode() {
  final int prime = 31;
  int result = 1;
  result = (prime * result)+ privateVariable.hashcode();   
  result = (prime * result)+ ((this.details == null) ? 0 : this.details.hashCode());
  result = (prime * result)+ ((this.status == null) ? 0 : this.status.hashCode());
  return result;
 }

Кто-нибудь знает, как я могу написать тест на мутацию для этого кода?


person TechP88    schedule 02.03.2021    source источник


Ответы (1)


Если у вас нет очень конкретных требований к тому, как должен работать ваш хэш-код, EqualsVerifier обычно достаточно, чтобы обеспечить разумное поведение ( в тандеме с реализацией equals).

Обратите внимание, однако, что вы не пишете мутационные тесты для кода, вместо этого pitest (и другие инструменты мутационного тестирования) проверяет, насколько эффективны существующие модульные тесты.

person henry    schedule 02.03.2021
comment
спасибо Генри за ваш ответ. Я не могу использовать API-интерфейс EqualsVerfier для проверки покрытия тестами мутаций. - person TechP88; 03.03.2021