为什么要使用Mockito?

时间:2016-10-09 11:29:41

标签: java spring hibernate junit mockito

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

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

1 个答案:

答案 0 :(得分:5)

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

另一个很好的例子是创建限制检查。让我们想一想在某些情况下可能抛出的异常。 你可以模拟将抛出异常的对象(如果你使用的是Mock,那么〜2-3行测试代码),你可以检查你编写的代码如何对该异常作出反应。没有模拟,抛出异常可能是非常复杂的事情,如果您不熟悉小细节,则不易使用。当然,Mock使您能够专注于您正在检查的主要功能,因为它使检查时间非常小。当上市时间至关重要时,这是一种祝福。