【问题标题】:How to verify number of call of private method in public method in Junit?如何在Junit的公共方法中验证私有方法的调用次数?
【发布时间】:2017-01-16 18:43:03
【问题描述】:
public void publicMethod() {
  for (i=1;i<10;i++)
    privateMethod();
}

private privateMethod() {
    something...
}

我需要编写一个 JUnit 测试用例来验证调用 privateMethod() 的次数。

【问题讨论】:

    标签: java junit mockito private-methods public-method


    【解决方案1】:

    你不应该那样做。您无需编写单元测试来验证实现详细信息。

    您的测试可确保您的 public 方法履行其合同。所以你断言返回的东西是预期的;或者对其他方法的后续调用会给出所需的输出。或者您期望调用抛出指定的异常。或者,第三种选择:您注入 mocked 对象;您稍后验证模拟看到了您预先指定的方法调用。

    但是编写测试用例来专门测试私有方法是非常糟糕的做法!

    【讨论】:

    • 应该是公认的答案。私有方法不是你的类提供给它的用户的东西,它是它实现它所提供的东西的方式。
    • 哦,真可惜:)
    • 希望你能得到它,希望有一天你会长大并像你一样优秀
    • 当然。尽管继续。我明白了:我今天已经为你提供了一些支持;喜欢stackoverflow.com/questions/39392907/… ...
    • 原来是你♥
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 2011-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多