【发布时间】:2010-09-11 20:03:46
【问题描述】:
假设我有一堂课
class SomeClass
{
public void methodA()
{}
public void methodB()
{}
public void someMethod()
{
methodA();
methodB();
}
}
我想用 Mockito 测试 someMethod() 的行为。
我能想到的唯一方法是使用 spy();
有点像
SomeClass someClass = spy(new SomeClass());
someClass.someMethod();
InOrder inOrder = inOrder(someClass);
inOrder.verify(someClass).methodA();
inOrder.verify(someClass).methodB();
我是 mockito 的新手,文档说
“真正的间谍应谨慎使用,偶尔使用,例如在处理遗留代码时。”
所以也许我遗漏了一些东西,并且有更好(正确)的方法来验证是否调用了 methodA 和 methodB 而无需在测试用例中显式调用它们。
谢谢。
【问题讨论】:
标签: java unit-testing mockito