来一个Mockito.when()使用的例子
时间: 2024-05-04 08:21:54 浏览: 138
好的,下面是一个Mockito.when()的使用示例。
假设我们有一个名为`Calculator`的类,它有一个`add`方法,用于将两个数字相加。我们想要测试一个使用`Calculator`类的其他类,但是由于我们不想真正调用`add`方法,因此我们可以使用Mockito来模拟`add`方法的行为。
首先,我们需要创建一个`Calculator`类的mock对象,可以使用以下代码:
```java
Calculator calculator = Mockito.mock(Calculator.class);
```
接下来,我们可以使用`when`方法来指定当调用`add`方法时应该返回什么值。例如,我们可以指定当`add`方法的参数为2和3时,应该返回5,如下所示:
```java
Mockito.when(calculator.add(2, 3)).thenReturn(5);
```
现在,当我们在测试中调用`calculator.add(2, 3)`时,它将返回5,而不是实际执行`add`方法。这使我们能够测试我们的代码,而不会受到`add`方法的影响。
完整的示例代码如下:
```java
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.mockito.Mockito;
public class CalculatorTest {
@Test
public void testAdd() {
Calculator calculator = Mockito.mock(Calculator.class);
Mockito.when(calculator.add(2, 3)).thenReturn(5);
assertEquals(5, calculator.add(2, 3));
}
}
```
在这个测试中,我们创建了一个`Calculator`类的mock对象,并使用`when`方法指定了`add`方法的行为。然后,我们调用`assertEquals`方法来验证`add`方法返回了我们预期的结果。
阅读全文