【问题标题】:How to inject mock object in spy object?如何在间谍对象中注入模拟对象?
【发布时间】:2016-07-11 16:01:51
【问题描述】:

我必须在 Spring 应用程序中测试一个依赖于服务类并且还依赖于 dao 类的 rest api。我用@InjectMocks 创建了控制器实例,用@Spy 创建了服务,用@Mock 创建了dao。在我当前的场景中,我正在测试的 api 在 spy 中调用一个方法,而被调用的方法在 mock 中调用一个方法。如果我不使用 spy,那么测试将无法正常工作,如果使用,则不会将 dao 实例注入服务。在这种情况下,我应该如何将 dao 的模拟对象注入到 spy 对象中?

【问题讨论】:

  • 您是否要对控制器代码进行单元测试?
  • 是的!我正在尝试验证在访问 rest api 时是否通过服务实例调用了 dao 实例。

标签: unit-testing mockito


【解决方案1】:

您可以在服务类中同时使用@Spy@InjectMocks,但它可能无法正常工作。 我认为最好的做法是将您的测试分开。您可以为rest api 编写一个测试并从服务创建模拟,并为服务创建第二个测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-08
    相关资源
    最近更新 更多