【发布时间】:2021-01-25 10:48:14
【问题描述】:
在我的单元测试中,我有一个非常简单的案例 - 带有方法调用模拟的模拟类。像这样的:
@Mock
private lateinit var feedbackManager: FeedbackManager
...
Mockito.`when`(feedbackManager.sendFeedbackToEmail(any())).thenReturn(Completable.complete())
所以这很完美,我可以模拟和验证方法调用。没问题。
我决定稍微改进一下,并在我的FeedbackManager 中添加了一个扩展,如下所示:
fun FeedbackManager.mockSendFeedbackToEmail(feedbackText: String = any()) {
Mockito.`when`(this.sendFeedbackToEmail(feedbackText)).thenReturn(Completable.complete())
}
如您所见,此扩展程序中的一切都与添加之前相同。 但由于某种原因,这种方法不起作用:
java.lang.NullPointerException: Parameter specified as non-null is null: method
package.FeedbackManagerMockingKt.mockSendFeedbackToEmail, parameter feedbackText
你能在这里给点建议吗? 有没有可能实现我想要的?
【问题讨论】: