使用 mockito 模拟构造函数

Mock constructor with mockito(使用 mockito 模拟构造函数)
本文介绍了使用 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 模拟构造函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Sending a keyboard event from java to any application (on-screen-keyboard)(将键盘事件从 java 发送到任何应用程序(屏幕键盘))
How to make JComboBox selected item not changed when scrolling through its popuplist using keyboard(使用键盘滚动其弹出列表时如何使 JComboBox 所选项目不更改)
Capturing keystrokes without focus(在没有焦点的情况下捕获击键)
How can I position a layout right above the android on-screen keyboard?(如何将布局放置在 android 屏幕键盘的正上方?)
How to check for key being held down on startup in Java(如何检查在Java中启动时按住的键)
Android - Get keyboard key press(Android - 获取键盘按键)