我需要模拟MainActivity,因为它是我的单元测试的一个参数。我试过private val mockMainActivity: MainActivity = mock()
。但是我得到:
Mockito无法模拟此类:类se. username. mmi. onboard. activities. MainActivity。
Java:11 JVM供应商名称:JetBrains s.r.o. JVM供应商版本:11.0.15+0-b2043.56-8887301 JVM名称:OpenJDK 64位服务器VM JVM版本:11.0.15+0-b2043.56-8887301 JVM信息:混合模式操作系统名称:Linux操作系统版本:6.2.0-31-generic
您看到此免责声明是因为Mockito被配置为创建内联模拟。您可以在Mockito类javadoc的第39项中了解内联模拟及其限制。
基本例外:java.lang.IllegalArgumentException:无法创建类型org.mockito.exceptions.base.MockitoException:Mockito无法模拟此类:类se. username. mmi. onboard. activities. MainActivity。
如果您不确定为什么会出现此错误,请在GitHub上打开一个问题。
那么我怎么能嘲笑MainActivity呢?
1条答案
按热度按时间6qftjkof1#
在单元测试中,您可以创建MainActivity的mock或fake实现,并将其传递给SomeClass。这样,您就可以在SomeClass中测试逻辑,而不用担心MainActivity的复杂性。