提问人:Ella 提问时间:8/30/2023 最后编辑:Ella 更新时间:9/2/2023 访问量:61
坑突变问题:“用减法代替长加法”
Problem with pit mutation: "Replaced long addition with subtraction"
问:
我是突变测试的新手。我正在使用 Pit,在下面的代码行中,有 4 个相同类型的突变: 用减法代替长加法 但我不明白为什么他给我 4 个突变而不是 3 个:long newsize = position + START_OF_DATA + total;
1 mutation:long newsize = position - START_OF_DATA + total;
2 mutation:long newsize = position + START_OF_DATA - total;
3 mutation:long newsize = position - START_OF_DATA - total;
4 mutation: ???
这是该行的上下文:
try {
fc.position(position + START_OF_DATA);
while (buffs[buffs.length - 1].remaining() > 0) {
long rc = fc.write(buffs);
if (rc <= 0) {
throw new IOException("Short write");
}
total += rc;
}
} finally {
fc.force(true);
long newsize = position + START_OF_DATA + total;
if (newsize > size) {
size = newsize;
}
}
我还尝试使用这三个假定的突变手动修改源代码,但我的测试套件失败了。 哪一个可能是第四个突变?有没有办法清楚地看到突变,而不仅仅是坑报告中报告的原始代码列表?
谢谢大家
答: 暂无答案
评论
long newsize = position - (START_OF_DATA + total);
long newsize = position - START_OF_DATA - total;