mokito mock 方法内创建对象的方法调用
时间: 2024-04-24 19:27:51 浏览: 163
在使用 Mockito 进行单元测试时,可以使用 `when` 方法来模拟方法内部创建对象的方法调用。通过 `when` 方法,我们可以指定在特定条件下,模拟对象的方法应该返回什么值。
以下是一个示例代码,展示了如何使用 Mockito 来模拟方法内部创建对象的方法调用:
```java
import org.junit.Test;
import org.mockito.Mockito;
public class MyClass {
public void myMethod() {
// 在方法内部创建对象
MyObject myObject = new MyObject();
String result = myObject.myMethod2();
System.out.println(result);
}
}
public class MyObject {
public String myMethod2() {
return "Hello World";
}
}
public class MyClassTest {
@Test
public void testMyMethod() {
MyObject mockedObject = Mockito.mock(MyObject.class);
// 模拟 myMethod2() 方法的返回值
Mockito.when(mockedObject.myMethod2()).thenReturn("Mocked Method");
MyClass myClass = new MyClass();
myClass.myMethod(); // 输出 "Mocked Method"
}
}
```
在上述示例中,我们首先使用 `Mockito.mock()` 方法创建了一个 `MyObject` 类的模拟对象 `mockedObject`。然后,使用 `Mockito.when()` 方法来指定当调用 `mockedObject.myMethod2()` 时应该返回的值,这里返回的是 "Mocked Method"。最后,创建 `MyClass` 的实例并调用 `myMethod()` 方法,可以看到输出的结果是模拟方法调用的返回值。
需要注意的是,当使用 Mockito 进行方法内部创建对象的方法调用的模拟时,我们需要确保模拟对象可以正常被创建和调用,以便正确地设置模拟行为。另外,Mockito 还提供了其他的功能和注解来支持更复杂的单元测试场景,你可以参考 Mockito 的文档来了解更多用法。
阅读全文