我遇到了一个挑战,当我单独运行测试时,测试通过了,但当我运行所有测试时,测试失败了,它会显示以下错误消息:
java.lang.RuntimeException:Android.os.Looper中的方法getMainLooper未被嘲弄。详见http://g.co/androidstudio/not-mocked。
在Android.os.looper.GetMainLooper(looper.java)在Retrofit2平台$Android$MainThreadeDexecutor.(platform.java:172)在Retrofit2平台$Android.DefaultCallbackExecutor(platform.java:145)在Retrofit2平台$Android.DefaultCallbackExecutor(platform.java:585)在com.andela.mrm.notifications.slackService.getAPI(slackService.kt:26)在luate(InvokeMethod.Java:17)在org.junit.runners.ParentRunner.RunLeaf(ParentRunner.Java:325)在org.junit.runners.BlockJunit4ClassRunner.Runchild(BlockJunit4ClassRunner.Runchild(Java:78)在org.junit.runners.BlockJunit4ClassRunner.Runchild(Java:57)在org.junit.runners.ParentRunner(Java:57)在org.junit.runers.ParentRunner$000(ParentRunner.Java:58)在org.junit.runners.ParentRunner.268)在org.junit.runners.ParentRunner.run(ParentRunner.Java:363)在org.junit.runner.junitCore.run(ParentRunner.Java:137)在com.intellij.junit4.junit4ideateStrunner.startRunnerWithArgs(junit4ideateStrunner.Java:68)在com.intellij.rt.execution.junit.ideateStrunner
下面是我要测试的改装实例:
class SlackService {
private var retrofit: Retrofit? = null
/**
* This method creates a new instance of the API interface.
*
* @return The API interface
*/
val api: SlackApi
get() {
val baseURL = "https://hooks.slack.com/"
val client = ApiService.getOkHttpClient()
if (retrofit == null) {
retrofit = Retrofit.Builder()
.baseUrl(baseURL)
.client(client)
.build()
}
return retrofit!!.create(SlackApi::class.java)
}
}
然后,这是一个针对改型实例的测试:
class SlackServiceTest {
@Test
fun getAPI() {
val slackService = SlackService()
assertNotNull(slackService.api)
}
}
我通过这里看到了一些类似的问题,但它们与RxJava有关,并且不使用它,我该如何帮助呢?
谢谢
其实,我终于得到了答案,就在下面的链接里:答案
TrendingViewModelTest 趋势视图模型 TrendingRepository: 在内部启动了一个Rxjava调用,它还挂钩到“AndroidSchedulers.MainThread()”,这可能是导致它的原因。
我正在为一个具有HTTP get、put和post方法模块的应用程序编写django unittests。我一直在引用rest_framework的APITestCase方法来为POST方法编写unittest。 ========================================================================= Traceback(最近调用最后):文
编辑:供未来读者使用。我不知道这个问题是否对你有很大的帮助。有趣的逻辑已经发生了很大的变化,所以我关闭了这个问题,但不会删除它。 我正在尝试为我的ViewModel编写一些单元测试。我正在使用Mockk和junit5。 应该发生的事情:模拟存储库返回fakeresponse(我称之为VM中的乐趣),它将livedata设置为假响应数据。 实际发生的情况: 这就是考验 这是测试中延长的两个类 这是苏
我试图在我正在编写的脚本中测试错误处理。如果异步函数fetchBar失败,我将模式匹配失败案例,然后返回包含失败结果的成功未来。 然而,当我对这个流进行单元测试时,我在测试失败案例时遇到了麻烦。我在fetchBar上打了一个存根,以返回失败的future,如下所示。 但是我注意到fetchedBar返回的是成功而不是失败。为什么会这样,我如何存根fetchBar函数来创建一个失败的尝试?
我不熟悉匕首。我创建了一个非常简单的单元测试,试图理解我应该如何使用dagger。不幸的是,它失败了。我可能还不了解匕首的一些基本原理。 而我的测试课失败了 我认为dagger会将B注入A,因为A希望注入B,DaggerModule包含一个@Providers注释方法,该方法创建B。 更新: 我发现当我像这样编写模块类时 将B注入A作品中。然而,我不理解为什么当模块有一个构造a实例的带注释的方法时
spring.datasource.hikari.schema=demo 错误: 原因:org.springframework.beans.factory.beanCreationException:创建类路径资源[org/springframework/boot/autocconfigure/orm/jpa/hibernatejpaconfiguration.class]中定义的名为“Entit