小编Idr*_*ack的帖子

尝试将AndroidJUnit4与标准JUnit运行器和委托运行器'org.robolectric.RobolectricTestRunner'一起使用,无法加载

我正在使用espresso运行一些测试,但我不知道为什么roboelectric包含在此错误中,因为测试仅适用于浓缩咖啡,下面是错误:

java.lang.Exception: Attempted to use AndroidJUnit4 with standard JUnit runner and delegate runner 'org.robolectric.RobolectricTestRunner'could not be loaded. Check your build configuration.
at android.support.test.runner.AndroidJUnit4.loadRunner(AndroidJUnit4.java:89)
at android.support.test.runner.AndroidJUnit4.loadRunner(AndroidJUnit4.java:63)
at android.support.test.runner.AndroidJUnit4.<init>(AndroidJUnit4.java:57)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
at androidx.test.internal.runner.junit4.AndroidAnnotatedBuilder.runnerForClass(AndroidAnnotatedBuilder.java:63)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at androidx.test.internal.runner.AndroidRunnerBuilder.runnerForClass(AndroidRunnerBuilder.java:153)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at androidx.test.internal.runner.TestLoader.doCreateRunner(TestLoader.java:73)
at androidx.test.internal.runner.TestLoader.getRunnersFor(TestLoader.java:104)
at androidx.test.internal.runner.TestRequestBuilder.build(TestRequestBuilder.java:789)
at androidx.test.runner.AndroidJUnitRunner.buildRequest(AndroidJUnitRunner.java:543)
at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:386)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2145)
Run Code Online (Sandbox Code Playgroud)

我按照浓缩咖啡的文档,我看到一切都很好.可能是什么问题呢 :

下面是我的gradle文件:

apply plugin: 'com.android.application'
apply plugin: 'jacoco'


jacoco {
    toolVersion = "0.7.6.201602180812"
}

tasks.withType(Test) …
Run Code Online (Sandbox Code Playgroud)

java android robolectric android-espresso

8
推荐指数
4
解决办法
4943
查看次数

单元测试失败:java.lang.RuntimeException:android.os.Looper 中的方法 getMainLooper 未被模拟

我遇到了一个挑战,当我单独运行它时,我的测试通过了,但当我运行所有测试时失败了,它向我显示了以下错误消息:

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) 在 org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) 在 org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 在 org.junit.runners.ParentRunner。访问 $000(ParentRunner.java:58) 在 org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 在 org.junit.runners.ParentRunner.run(ParentRunner.java:363) 在 org.junit.runners .Suite.runChild(Suite.java:128) 在 org.junit.runners.Suite.runChild(Suite.java:27) 在 org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) 在 org.junit .runners.ParentRunner$1.schedule(ParentRunner.java:71) 在 org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) 在 org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) 在org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) 在 org.junit.runners.ParentRunner.run(ParentRunner.java:363) 在 org.junit.runner.JUnitCore.run(JUnitCore.java:137) )在com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)在com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)在com.intellij.rt.execution。 junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) 在 com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

以下是我要测试的 Retrofit 实例:

class SlackService {

    private var …
Run Code Online (Sandbox Code Playgroud)

java junit android kotlin retrofit2

2
推荐指数
1
解决办法
7400
查看次数