在单元测试中验证私有方法调用的顺序

时间:2012-04-10 16:47:31

标签: java junit mocking mockito

我有以下课程:

class MyClass {

  public void doIt() {
     methodOne();
     methodTwo();
     methodThree();
  }

  private void methodOne() {
     // ...
  }

  // rest of methods similar...

}

我的目的是验证当我调用doIt()时,将按顺序调用方法metodOne(),methodTwo()和methodThree()。​​

我使用mockito进行嘲笑。有谁知道我如何测试这种情况?

2 个答案:

答案 0 :(得分:9)

讨厌成为这个人但是:根本就不要测试这个。测试输出,副作用和结果 - 而不是实现。

如果您确实想要确保正确的顺序,请将这些方法提取到单独的类中并模拟它们。

答案 1 :(得分:3)

只要你的私人方法......嗯......私有,就不要测试它们。它们是实现细节。他们可以在不改变你的合同的情况下进行重构。测试公共方法的正确结果。