public void publicMethod() {
for (i=1;i<10;i++)
privateMethod();
}
private privateMethod() {
something...
}
我需要编写一个JUnit测试用例来验证privateMethod()
被调用的次数。
答案 0 :(得分:9)
你不应该这样做。您不编写单元测试来验证实现详细信息。
您的测试可确保您的公开方法履行合同。所以你断言返回的东西是预期的;或者对其他方法的后续调用给出了所需的输出。或者你期望调用抛出指定的异常。或者,第三个选项:您注入了模拟的对象;您稍后在验证模拟器看到您预先指定的方法调用
但编写测试用例来专门测试私有方法是非常糟糕的做法!