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



我有以下类:

class MyClass {
  public void doIt() {
     methodOne();
     methodTwo();
     methodThree();
  }
  private void methodOne() {
     // ...
  }
  // rest of methods similar...
}

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

我用嘲笑来嘲笑。有谁知道我如何测试这个场景?

讨厌

成为那个人,但是:只是不要测试这个。测试输出、副作用、结果 - 而不是实现。

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

只要您的私有方法是...井。。。私人的,不要测试它们。它们是实现细节。可以在不更改类协定的情况下重构它们。测试公共方法的正确结果。

相关内容

  • 没有找到相关文章

最新更新