当前位置: 首页 > 面试题库 >

Mockito如何创建模拟对象的实例

吕灿
2023-03-14
问题内容

当我创建一个说类Employee的模拟对象时。它不调用Employee对象的构造函数。我知道Mockito在内部使用CGLIb和反射,创建了一个代理类,将该类扩展为模拟。如果未调用employee的构造函数,那么如何创建employee类的模拟实例?


问题答案:

Mockito使用CGLib生成类对象。但是,要实例化此类对象,它使用Objenesis
http://objenesis.org/tutorial.html

Objenesis能够使用各种技术(例如,调用ObjectStream.readObject等)在没有构造函数的情况下实例化对象。



 类似资料:
  • 在一个方法中,我有一个异常被捕获,我想嘲笑它。 我知道如何使用mock模拟对象以抛出异常。doSomething(),但当类创建自己的新实例时,我需要抛出远程异常。 我希望能够模拟try块中的所有内容,但我不明白你如何模拟新类的创建,具体如下: 我尝试了许多不同的Mockito测试,例如: 虽然我理解这个意愿,但并不起作用,我想做一些类似的事情。 我已经阅读了Mockito文档,但没有发现任何有用

  • org.mockito.exceptions.misusing.invaliduseofmatchersexception:在此处检测到错误的参数匹配器:->at service.activity.service.activitesServiceTest.setup(activitesServiceTest.java:45) 不能在验证或短截之外使用参数匹配器。参数匹配器的正确用法示例:when(

  • 有许多方法可以使用mockito初始化模拟对象。其中什么是最好的方法? 1. 建议我有没有比这些更好的方法...

  • 我最终得到。 我是否可以模拟并且在测试时仍然得到消息错误?

  • 我有一个叫做InputInterface的接口,它有一些get方法。我还有一个复杂的gui类,它实现了InputInterface,现在因为它太复杂了,无法序列化整个类,而且它扩展并实现了更多的接口,所以我想创建一个类似于模拟对象的东西,它会创建一个类似于我的复杂类目前给出的答案的副本。 我想创建一个实现该接口的类,它将保存这些值,但后来我意识到这应该是EasyMock或其他模拟库的标准过程?这是

  • 问题内容: 有很多方法可以使用MockIto初始化模拟对象。其中最好的方法是什么? 1。 2。 [编辑] 3。 如果有其他方法可以建议我… 问题答案: 对于模拟初始化,使用或是严格等效的解决方案。从MockitoJUnitRunner的javadoc中: 当你已经在测试用例上配置了特定的运行器时,可以使用第一个解决方案(带有)。 第二个解决方案(带有)更经典,也是我的最爱。代码更简单。使用转轮提供