小编ank*_*ank的帖子

这是Mockito间谍的正确案例吗?

假设我有一堂课

class SomeClass
{
  public void methodA()
  {}

  public void methodB()
  {}

  public void someMethod()
  {
     methodA();
     methodB();
  }
}
Run Code Online (Sandbox Code Playgroud)

我想用Mockito测试someMethod()的行为.

我能想到的唯一方法是使用spy();

就像是

SomeClass someClass = spy(new SomeClass());
someClass.someMethod();
InOrder inOrder = inOrder(someClass);
inOrder.verify(someClass).methodA();
inOrder.verify(someClass).methodB();
Run Code Online (Sandbox Code Playgroud)

我是mockito的新手,文档说

"应该谨慎使用真正的间谍,例如在处理遗留代码时."

所以也许我错过了一些东西,并且有更好的(正确的)方法来验证methodA和methodB是否被调用而没有在测试用例中显式调用它们.

谢谢.

java unit-testing mockito

9
推荐指数
1
解决办法
6950
查看次数

标签 统计

java ×1

mockito ×1

unit-testing ×1