我遇到了一个挑战,当我单独运行它时,我的测试通过了,但当我运行所有测试时失败了,它向我显示了以下错误消息:java.lang.RuntimeException:android.os.Looper 中的 getMainLooper 方法未被模拟。有关详细信息,请参阅http://g.co/androidstudio/not-mocked。在 android.os.Looper.getMainLooper(Looper.java) 在retrofit2.Platform$Android$MainThreadExecutor.(Platform.java:172) 在retrofit2.Platform$Android.defaultCallbackExecutor(Platform.java:145) 在retrofit2.Retrofit$Builder .build(Retrofit.java:585) 在 com.andela.mrm.notifications.SlackService.getApi(SlackService.kt:26) 在 com.andela.mrm.notifications.SlackServiceTest.getAPI(SlackServiceTest.kt:12) 在太阳。在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在java.lang.reflect.Method.invoke( Method.java:498) 在 org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) 在 org.junit.internal.runners.model。ReflectiveCallable.run(ReflectiveCallable.java:12) 在 org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) 在 org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)在 org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) 在 org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) 在 org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) )在 org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 在 我设法通过这里看到一些类似的问题,但它们与 RxJava 有关,并且我没有使用它,我该如何获得帮助?
2 回答
慕姐8265434
TA贡献1813条经验 获得超2个赞
添加这个解决了我的问题。
android {
// ...
testOptions {
unitTests.returnDefaultValues = true
}
}
婷婷同学_
TA贡献1844条经验 获得超8个赞
如果没有一个解决方案在我的情况下工作相似,如果您使用的是较新版本的 Gradle 并且您使用的是 android,请确保在构建 gradle 中从 android 导入。
实现 'androidx.arch.core:core-testing:$version'
代替
实现 'android.arch.core:core-testing:$version'
添加回答
举报
0/150
提交
取消