mockito如何创建mock对象的实例

2022-01-14 00:00:00 testing constructor mockito java

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

When i create a mock object of say class Employee. It doesnt call the constructor of Employee object. I know internally Mockito uses CGLIb and reflection, creates a proxy class that extends the class to mock. If it doesnt call the constructor of employee how is the mock instance of employee class created ?

推荐答案

Mockito 使用 CGLib 生成类对象.然而,要实例化这个类对象,它使用 Objenesis http://objenesis.org/tutorial.html

Mockito uses CGLib to generate class object. However to instantiate this class object it uses Objenesis http://objenesis.org/tutorial.html

Objenesis 能够使用各种技术(即调用 ObjectStream.readObject 和类似方法)在没有构造函数的情况下实例化对象.

Objenesis is able to instantiate object without constructor using various techniques (i.e. calling ObjectStream.readObject and similar).

相关文章