您正在使用的是专为模拟而设计的库,它缺少实现。因为您的测试实际上是在对象上调用方法,而没有使用模拟库来赋予其行为,所以它会向您发送该消息。
如“ Android单元测试支持”页面上所示:
“方法……不嘲笑。”用于运行单元测试的android.jar文件不包含任何实际代码-
由实际设备上的Android系统映像提供。相反,所有方法都会引发异常(默认情况下)。这是为了确保您的单元测试仅测试您的代码,并且不依赖于Android平台的任何特定行为(您尚未明确模拟例如使用Mockito)。如果证明有问题,则可以将以下代码段添加到build.gradle中以更改此行为:android { // ... testOptions { unitTests.returnDefaultValues = true }}
要解决此问题,请使用诸如Mockito之类的模拟框架,而不是调用诸如之类的真实方法
put,或者切换到Robolectric以使用本来仅在本机代码中实现的类的Java等效项。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)