1

我有以下课程:

class MyClass {

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

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

  // rest of methods similar...

}

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

我正在使用mockito进行模拟。有谁知道我如何测试这种情况?

4

2 回答 2

9

讨厌成为那个人,但是:根本不测试这个。测试输出、副作用、结果——而不是执行。

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

于 2012-04-10T17:01:11.073 回答
3

只要您的私有方法是……好吧……私有的,就不要测试它们。它们是实现细节。它们可以在不更改类合同的情况下进行重构。测试公共方法的正确结果。

于 2012-04-10T17:03:19.733 回答