Mockito:如何验证在方法中创建的对象上调用了方法?

我是莫基托的新手

给定下面的类,我如何使用Mockito来验证someMethod在调用foo之后是否只调用了一次

公共类Foo
{
公共图书馆{
条形=新条形();
bar.someMethod();
}
}

我想打以下确认电话

验证(条,次(1)).someMethod();

其中barbar的模拟实例

依赖项注入

如果您注入Bar实例,或用于创建Bar实例的工厂(或其他483种方法之一),您将拥有执行测试所需的访问权限

工厂示例:

给定这样编写的Foo类:

公共类Foo{
私人酒吧厂;
公共食品(酒吧工厂){
this.barFactory=工厂;
}
公共图书馆{
Bar=this.barFactory.createBar();
bar.someMethod();
}
}

在您的测试方法中,您可以像这样注入BarFactory:

@测试
公共void testDoFoo(){
Bar=模拟(Bar.class);
BarFactory myFactory=新的BarFactory(){
public Bar createBar(){return Bar;}
};
Foo-Foo=新的Foo(我的工厂);
foo.foo();
验证(条,次(1)).someMethod();
}

奖励:这是一个TDD如何驱动代码设计的示例

发表评论