📜  Mockito-添加行为(1)

📅  最后修改于: 2023-12-03 14:44:19.855000             🧑  作者: Mango

Mockito - 添加行为

Mockito是一个用于Java编程语言的开源测试框架,能够使测试更加简单,优雅和可读性更高。这里我们将了解如何使用Mockito添加行为以进行单元测试。

Mock对象

Mockito测试框架使用Mock对象来代替真实的对象,以便测试行为。Mock对象随着测试的执行而动态地创建。它们可以存根以模拟真实对象的行为,还可以跟踪方法调用以测试对象是否按预期工作。

创建Mock对象

使用Mockito框架创建Mock对象非常简单。只需使用Mockito类中的静态方法mock()即可。例如,以下代码创建了一个名为“mockedList”的List类型的Mock对象:

import java.util.List;
import static org.mockito.Mockito.*;

List mockedList = mock(List.class);

现在我们可以使用mockedList对象进行单元测试。

Mock对象方法存根

我们可以使用when()方法来存根Mock对象的方法调用并模拟它们的行为。例如,以下代码模拟了mockedList对象调用get(0)方法时返回“first”字符串:

when(mockedList.get(0)).thenReturn("first");

在这里,我们对Mock对象mockedList的get(0)方法进行了存根,并模拟它返回“first”字符串。现在我们可以使用该对象,在没有真实对象的情况下,测试依赖Mock对象的代码。例如,以下代码将打印“first”字符串:

System.out.println(mockedList.get(0));
验证Mock对象方法调用

使用Mockito,我们还可以验证Mock对象的方法是否调用,以及方法的调用次数和参数。例如,以下代码使用Mock对象mockedList进行了一些验证:

// 测试方法调用
mockedList.add("one");
mockedList.clear();

// 验证方法调用次数
verify(mockedList).add("one");
verify(mockedList).clear();

我们使用Mock对象mockedList在其中使用add()和clear()方法并在后面添加verify操作符。使用verify()方法,我们可以验证方法是否被调用了正确的次数和参数。例如,我们可以验证add()方法是否被调用一次,参数是“one”字符串,并验证clear()方法是否被调用。

结论

在这个简单的介绍中,我们介绍了Mockito框架的一些基础知识,以便测试行为。Mockito让测试更简单、优雅和可读性更高。我们根据需要创建Mock对象,并使用when()方法来存根Mock对象的方法调用以模拟它们的行为,在测试代码中使用。使用verify()方法,我们可以验证Mock对象的方法是否调用以及调用次数和参数是否正确。