【问题标题】:Mocking a repository in Spring boot and testing a rest API在 Spring Boot 中模拟存储库并测试一个 REST API
【发布时间】:2019-11-21 10:56:45
【问题描述】:

我正在尝试模拟以下 MsgController 中存在的两个存储库:

InflowRepository 和 OrderRepository

并测试其余端点:来自另一个 TestController 的 path = "/api/msg/inflow"。

当我在 TestController 中编写以下语句时出现错误:-

【问题讨论】:

  • 把错误贴在这里会更好
  • OngoingStubbing> 类型中的 thenReturn(Optional) 方法不适用于参数(Order)
  • 未解决的编译问题!
  • 您希望我们猜出您的完整测试课程的外观吗?请添加类而不是 4 行。直接返回Optional.of(order)而不是订单。
  • @M.Deinum - 您好,非常感谢您的帮助。添加 Optional.of(order) 后它起作用了。你能解释一下这个词吗?

标签: spring-boot unit-testing mockito repository


【解决方案1】:

你可以试试:doReturn

List list = new LinkedList();
List spy = spy(list);

when(spy.get(0)).thenReturn("foo");
doReturn("foo").when(spy).get(0);

https://static.javadoc.io/org.mockito/mockito-core/2.13.0/org/mockito/Mockito.html#doReturn-java.lang.Object-

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2017-04-30
    • 2018-12-22
    • 1970-01-01
    • 2018-06-26
    • 2017-04-23
    相关资源
    最近更新 更多