当前位置: 首页 > 面试题库 >

为什么要使用Mockito?

夏朝
2023-03-14
问题内容

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

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


问题答案:

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

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



 类似资料:
  • 本文向大家介绍为什么要使用 kafka,为什么要使用消息队列?相关面试题,主要包含被问及为什么要使用 kafka,为什么要使用消息队列?时的应答技巧和注意事项,需要的朋友参考一下 缓冲和削峰:上游数据时有突发流量,下游可能扛不住,或者下游没有足够多的机器来保证冗余,kafka在中间可以起到一个缓冲的作用,把消息暂存在kafka中,下游服务就可以按照自己的节奏进行慢慢处理。 解耦和扩展性:项目开始的

  • 问题内容: 我注意到,Oracle JDK中使用了许多Java 8方法,如果给定的对象(参数)为,则会在内部抛出该方法。 但是,如果取消引用对象,则将被抛出。那么,为什么要做这个额外的null检查并抛出 ? 一个明显的答案(或好处)是它使代码更具可读性,我同意。我很想知道在方法开始时使用的其他原因 。 问题答案: 因为您可以这样做使事情变得 明确 。喜欢: 或更短: 现在您 知道了 : 当 成功使

  • 本文向大家介绍为什么要使用RabbitMQ?相关面试题,主要包含被问及为什么要使用RabbitMQ?时的应答技巧和注意事项,需要的朋友参考一下 可靠性(Reliability) RabbitMQ 使用一些机制来保证可靠性,如持久化、传输确认、发布确认。 灵活的路由(Flexible Routing) 在消息进入队列之前,通过 Exchange 来路由消息的。对于典型的路由功能,RabbitMQ 已

  • 问题内容: 为什么我们要使用方法设置参数,因为我们可以通过在中设置参数并使用来获取参数来完成同样的事情? 问题答案: 是动态的,其可以被设置和复位运行期间。 所指定的是静态的,在应用程序的生命周期内不会更改。 例: 数据库属性,例如数据库名称配置属性。它将主要配置为上下文 并且,如果要设置基于运行时更改派生的属性值,则上下文属性应为“上次登录的用户”或“失败次数”。

  • 本文向大家介绍为什么要使用 hibernate?相关面试题,主要包含被问及为什么要使用 hibernate?时的应答技巧和注意事项,需要的朋友参考一下 hibernate 是对 jdbc 的封装,大大简化了数据访问层的繁琐的重复性代码。 hibernate 是一个优秀的 ORM 实现,很多程度上简化了 DAO 层的编码功能。 可以很方便的进行数据库的移植工作。 提供了缓存机制,是程序执行更改的高效

  • 本文向大家介绍为什么要使用Elasticsearch?相关面试题,主要包含被问及为什么要使用Elasticsearch?时的应答技巧和注意事项,需要的朋友参考一下   因为在我们商城中的数据,将来会非常多,所以采用以往的模糊查询,模糊查询前置配置,会放弃索引,导致商品查询是全表扫面,在百万级别的数据库中,效率非常低下,而我们使用ES做一个全文索引,我们将经常查询的商品的某些字段,比如说商品名,描述