java - Spring 测试模块与 Mockito

标签 java spring mockito integration-testing junit5

我正在学习集成测试与 rest API 通信的 spring 应用程序。我从这个发现article spring 测试支持两种方法,我假设同样的事情。

  • 使用 MockRestServiceServer 创建一个模拟服务器
  • 使用 Mockito 创建一个模拟对象

  • 据我了解,前者拦截http请求;然后返回对象,而后者直接返回对象,根本不关心任何 http 请求。
    因为最终,至少在大多数情况下,我们只是验证检索到的对象并将其与预期结果进行比较。
    所以,我的问题;如果尝试比较:
  • 什么是可能的权衡;如果我选择其中之一?
  • 选择一种比另一种有什么优势吗?
  • 对于哪些情况,我更喜欢一种情况而不是另一种情况(可能
    每个用例)?
  • 最佳答案

    Mockito 模拟了 restTemplate 的所有内部部分,并直接将响应返回给方法。
    MockRestServiceServer 让 restTemplate 在 httpClient 调用之前运行所有东西。
    这意味着您将使用 MockRestServiceServer 测试错误处理、映射等。

    关于java - Spring 测试模块与 Mockito,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57107805/

    相关文章:

    java - 如何使用Byte Buddy更改字节码?

    java - Java 中正确的容器/数据结构

    spring - 在带有 Spring 的 JUnit 中,如何使用 Mockito (1.10.18) 在 @Service 上创建 spy ?

    java - jersey/Mockito : NullInsteadOfMockException on client. 通话后验证

    testing - 如何 Junit 测试具有特定响应的 servlet 过滤器

    java - 如何删除失效监听器

    java - netbeans、cmd 和 .bat 或 .cmd 中的路径差异

    java - 我如何将参数添加到 Jersey 过滤器请求(ContainerRequestFilter)的请求

    java - 如何在@Query注解中检索对象成员

    eclipse - sts 中新 spring 项目的包资源管理器中缺少 "maven dependencies"选项