您的当前位置:首页正文

mockito模拟类 new方法

来源:好兔宠物网
mockito模拟类 new方法

Mockito可以模拟类的`new`方法,来控制它返回的对象。

首先,你需要使用`PowerMockito`类来模拟类的`new`方法。比如,假设你要模拟一个名为`MyClass`的类的`new`方法,可以按照以下步骤进行操作:

1. 首先,你需要添加`mockito-core`和`powermock-core`库的依赖项到你的项目中。

2. 在测试类的`@Before`注解的方法中,初始化`Mockito`和`PowerMockito`: java @Before

public void setup() {

MockitoAnnotations.initMocks(this); PowerMockito.mockStatic(MyClass.class); }

3. 在需要模拟`new`方法的测试方法中,使用`PowerMockito.whenNew`方法来模拟`new`方法的返回值: java @Test

public void testMyMethod() throws Exception {

MyClass mockInstance = Mockito.mock(MyClass.class);

PowerMockito.whenNew(MyClass.class).withNoArguments().thenReturn(mockInstance);

测试逻辑... }

这样,当`MyClass`类在测试方法中调用`new MyClass()`时,它将返回模拟的`MyClass`对象,而不是真正的对象。

需要注意的是,模拟`new`方法需要结合使用`Mockito`(用于模拟实例对象)和`PowerMockito`(用于模拟`new`方法),因此需要添加对应的库依赖项,并使用`MockitoAnnotations.initMocks(this)`初始化`Mockito`和`PowerMockito`。另外,使用`PowerMockito.whenNew`方法时,还需要指定`new`方法调用时的参数,以及模拟的对象的返回值。

因篇幅问题不能全部显示,请点此查看更多更全内容