这是一个场景
public class MyService{
public void method1(){
method2();
}
private void method2(){
List<Providers> providers = Factory.getProviders(selectionCriteria);
providers.forEach(provider->{
provider.method();
})
}
}
如何验证provider.method()
被呼叫?
注意: 工厂拥有选择标准到列表的映射。 提供者实现接口并提供抽象方法的实现 我有使用PowerMock静态模拟的工厂,但是当我使用Mockito.verify(provider).method()时-我失败了
设置 @间谍provider1 PowerMockito.when(Factory.getProviers(Mockito.any()))。thenReturn(Arrays.asList(provider1))
Test Code
Mockito.verify(provider,Mockito.times(1))。method()
答案 0 :(得分:0)
根据How to verify behavior docs,语法为:
PowerMockito.verifyStatic(Factory.class);
Factory.getProviders(selectionCriteria);