首页 > 解决方案 > 如何在 java 中为 hashcode() 方法编写 ptest(mutation test)

问题描述

我正在为哈希码方法编写突变测试。下面是我的一段代码

@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;
 }

有谁知道我如何为这段代码编写突变测试?

标签: javajunit4mutationpitest

解决方案


除非您对哈希码的执行方式有非常具体的要求,否则 EqualsVerifier通常足以确保其行为合理(与 equals 实现相结合)。

但是请注意,您不会为代码“编写变异测试”,而是 ptest(和其他变异测试工具)验证现有单元测试的有效性。


推荐阅读