我开始深入研究代码分析和突变体。我在我的 Eclipse 项目中使用 PITest 作为插件。我遇到了这个我无法杀死的变种人。假设我有以下代码。
class Mutation{
public static void main(String [] args){
int i=0;
String SPECIAL_CHARS = "?!$@";
String password = "Something";
for (int pos = 0; pos < password.length(); pos++) {
char c = password.charAt(pos);
if(SPECIAL_CHARS.indexOf(c) < 0) {
i++;
}
}
}
}
据我了解,如果有一个不属于SPECIAL_CHARS
(比如说(
)的字符,变量i
会增加。PITest 报告了两个突变体。
与以下信息。
我试图编写几个可能会在没有任何运气的情况下杀死这个突变体的 Junit 测试。有人可以解释一下如何杀死它吗?
我现在知道,如果我的密码?
作为字符串password
的第一个字符,则条件边界检查可能会被终止。增量呢?这是什么意思?