【问题标题】:Why do I need mockito for testing Spring applications?为什么我需要 mockito 来测试 Spring 应用程序?
【发布时间】:2015-06-06 21:12:15
【问题描述】:

我试图了解所有事物与 Spring 的关系。但是我不明白为什么在单元测试spring代码时使用mockito?不能像mockito那样处理相同的DI吗? mockito 贡献了什么是纯春天无法做到的?

澄清: 我的想法是,我可以使用不同的应用程序上下文来测试在哪里创建我需要的存根 bean 作为虚拟对象。

【问题讨论】:

  • 为什么你认为你需要 Mockito 来对基于 Spring 的应用程序进行单元测试?

标签: java spring mockito


【解决方案1】:

Spring 不是一个模拟框架。这是一个依赖注入框架。

您使用 Mockito 是因为它允许模拟被测类的协作者。因此,如果您正在测试一个服务,并且该服务使用一个在数据库中获取和存储数据的存储库,您可以模拟该存储库,以便您的测试是一个真正的、独立的单元测试,不需要 Oracle 数据库来运行.

阅读https://stackoverflow.com/a/28783849/571407 了解有关模拟的更详细介绍。

【讨论】:

    【解决方案2】:

    您不需要 Mockito 来测试 Spring 应用程序。您可以启动服务器并直接使用注入的依赖项。但有时模拟一个(或多个)依赖项更容易,例如您的数据库的选择,因为您想测试您编写的代码而不是数据库的选择,其中还包括您需要的带有一些测试数据(或至少模拟测试数据)的数据库。事实上,您使用 Mockito 将测试的依赖关系排除在外,因此您可以测试应用程序使用的代码并“忽略”第三方测试环境的依赖关系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-04
      • 2016-01-01
      • 2022-11-06
      • 1970-01-01
      • 2018-12-03
      • 2021-06-24
      • 2021-02-21
      相关资源
      最近更新 更多