【问题标题】:@InjectMocks and @Spy together give RuntimeException@InjectMocks 和 @Spy 一起给出 RuntimeException
【发布时间】:2017-11-02 09:54:44
【问题描述】:

我在课堂上有两个两个方法。我想只测试其中一个。

所以我正在“监视”第二种方法的调用:

@Spy @InjectMocks private Manager manager;
//...
doReturn(obj).when(manager).method2(any());

我在这里得到RuntimeException

Caused by: org.mockito.exceptions.base.MockitoException: Cannot create a @Spy for 'manager' field because the *instance* is missing 

这里有什么问题?

【问题讨论】:

  • 我确实成功地结合了 Spy 和 InjectMocks。 Manager 是一个类还是一个接口?
  • 经理是一个类
  • 它有一个公共的无参数构造函数吗?
  • 是的,它有公共无参数构造函数

标签: java unit-testing mockito powermock spy


【解决方案1】:

首先,@Spy 可以和@InjectMocks 一起使用。

其次,我也遇到了这个问题。修改时 @RunWith(PowerMockRunner.class)
@RunWith(MockitoJUnitRunner.class),我解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 2019-07-20
    • 2020-08-25
    • 1970-01-01
    • 2019-03-29
    相关资源
    最近更新 更多