使用 mockito 模拟构造函数

时间:2023-05-02
本文介绍了使用 mockito 模拟构造函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

限时送ChatGPT账号..

我想将构造函数模拟为方法.

I want to mock a constructor into method.

public String generaID() {   
    GeneraIDParaEntidadCliente aux = new GeneraIDParaEntidadCliente(nombre, registro);   
    entidad.setID(aux.generaID);   
}

在我的测试中,我想做这样的事情:

In my test I want do something like this :

when(new GeneraIDParaEntidadCliente(anyString(), any(Entidad.class)).thenReturn(generaIdMock)  

但是给我这个error org.mockito.exceptions.misusing.InvalidUseOfMatchersException:

知道为什么吗?

推荐答案

可以使用 PowerMock 来模拟构造函数.

You can use PowerMock to mock constructors.

如果由于某种原因不能使用 PowerMock,最可行的解决方案是将工厂注入到包含此方法的任何类.然后,您将使用工厂创建您的 GeneraIDParaEntidadCliente 对象并模拟工厂.

If you can't use PowerMock for some reason, the most workable solution is to inject a factory to whatever class contains this method. You would then use the factory to create your GeneraIDParaEntidadCliente object and mock the factory.

这篇关于使用 mockito 模拟构造函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:为什么我在使用 PowerMockRunner 运行时不能使用 @InjectMocks 字段匹配? 下一篇:PowerMockito:使用匹配器模拟静态方法时出现 InvalidUseOfMatchersException

相关文章