一尘不染

为什么要使用Mockito?

hibernate

我是Mockito的新手,我已经开始学习它。但是我有一些疑问。为什么我们需要使用Mockito?据我所知,它用于模拟(创建虚拟对象)并在具有实际运行代码之前编写测试用例。但是,如果我想测试已经实施的代码以检查它们是否正常运行,该怎么办。我如何使用Mockito进行测试?

例如,我有CRUD方法,我想通过使用我的Create方法在数据库中实际插入数据来测试Create是否正常运行,这与其他方法类似。我们可以使用Mockito实现它吗?如果不是,那么我是否需要在不使用Mockito的情况下为它们编写不同的测试用例?


阅读 267

收藏
2020-06-20

共1个答案

一尘不染

该模拟用于您正在使用的每个类或服务。 被测类 不应被模拟
。让我们假设您正在连接到由一个工程团队构建的远程服务,并且您不熟悉其内部功能,但是您知道它返回什么请求和响应。在这种情况下,您可以创建该对象的模拟,并使用在不同情况下返回的响应集来定义它。每种情况都应进行自己不同的测试,对于每种响应,您应分别检查代码的响应(您正在研究)。

另一个很好的例子是创建一个限制检查。让我们考虑一下在某些情况下可能引发的异常。您可以模拟将抛出异常的对象,该异常很简单(如果使用Mock,则约为2-3行测试代码),并且可以检查编写的代码对该异常的反应。没有模拟,抛出异常可能是一件非常复杂的事情,如果您不熟悉这些小细节,那么使用起来就不那么容易。当然,Mock使您能够专注于要检查的主要功能,因为它使检查时间变得非常短。当上市时间很关键时,这是一种祝福。

2020-06-20