如何为一个计算字符串中有多少e的方法正确写出JUnit测试?

时间:2015-09-29 22:07:26

标签: testing junit undefined

这是我定义的方法,它应该接受一个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);
}

}

1 个答案:

答案 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);
}