这是我定义的方法,它应该接受一个String作为输入,并且应该返回char' e'以int形式出现:
public int count_e(String input){
int count = 0;
for (int i = 0;i<input.length();i++){
char e = 'e';
if (input.charAt(i)==e){
count=count+1;
i++;
return count;
}
else{
count=count+1;
i++;
}
}
return count;
}
}
我正在尝试编写一个JUnit测试,看看我是否可以在方法中输入一个字符串并返回正确数量的e。下面是我的测试,目前我一直收到错误,说我的方法count_e未定义为String类型。
有人可以告诉我为什么它会以未定义的形式出现吗?
@Test
public void testCount_e() {
String input= "Isabelle";
int expected= 2;
int actual=input.count_e();
assertTrue("There are this many e's in the String.",expected==actual);
}
}
答案 0 :(得分:0)
您未能将任何传递给count_e
方法!
如下:
@Test
public void testCount_e() {
String input = "Isabelle";
int expected = 2;
int actual = count_e(input);
Assert.assertEqual("There are this many e's in the String.", expected, actual);
}
对于单元测试,您可以将其缩短为:
@Test
public void testCount_e() {
Assert.assertEqual("There are this many e's in the String.", count_e("Isabelle"), 2);
}