Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin Androidx机器人分子构型_Kotlin_Robolectric - Fatal编程技术网

Kotlin Androidx机器人分子构型

Kotlin Androidx机器人分子构型,kotlin,robolectric,Kotlin,Robolectric,我试图在我的项目中使用Robolectric,但我遇到了一个障碍,不知道如何解决它。我认为这是一个配置问题,因为我甚至无法运行最基本的测试 这是我的依赖 implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin

我试图在我的项目中使用Robolectric,但我遇到了一个障碍,不知道如何解决它。我认为这是一个配置问题,因为我甚至无法运行最基本的测试

这是我的依赖

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.core:core-ktx:1.3.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.navigation:navigation-fragment:2.2.2'
implementation 'androidx.navigation:navigation-ui:2.2.2'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation 'androidx.navigation:navigation-fragment-ktx:2.2.2'
implementation 'androidx.navigation:navigation-ui-ktx:2.2.2'
implementation 'androidx.preference:preference:1.1.1'
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'com.google.guava:guava:28.2-android'
androidTestImplementation 'androidx.test:core-ktx:1.2.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test:rules:1.2.0'
androidTestImplementation ('org.robolectric:robolectric:4.3.1') {
    exclude group: "org.apache.maven"
}
如果我不包括exclude group指令,我会遇到一系列库冲突

这是我的第一次测试

@RunWith(RobolectricTestRunner::class)
class RoboTest {

    @Test
    fun test() {
        Thread.sleep(9000)
    }
}
当我尝试运行它时,我会得到以下堆栈跟踪

java.lang.NoClassDefFoundError: org.robolectric.util.inject.-$$Lambda$Injector$ZRemX9RoMk8gdKE-8yBtX0b79nc
at org.robolectric.util.inject.Injector.getProvider(Injector.java:310)
at org.robolectric.util.inject.Injector.getInstanceInternal(Injector.java:213)
at org.robolectric.util.inject.Injector.getInstance(Injector.java:197)
at org.robolectric.util.inject.Injector.getInstance(Injector.java:191)
at org.robolectric.internal.SandboxTestRunner.<init>(SandboxTestRunner.java:73)
at org.robolectric.RobolectricTestRunner.<init>(RobolectricTestRunner.java:101)
at org.robolectric.RobolectricTestRunner.<init>(RobolectricTestRunner.java:96)
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
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:793)
at androidx.test.runner.AndroidJUnitRunner.buildRequest(AndroidJUnitRunner.java:547)
at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:390)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1853)
java.lang.NoClassDefFoundError:org.roblectric.util.inject.-$$Lambda$Injector$ZRemX9RoMk8gdKE-8yBtX0b79nc
位于org.roblectric.util.inject.Injector.getProvider(Injector.java:310)
位于org.roblectric.util.inject.Injector.getInstanceInternal(Injector.java:213)
位于org.roblectric.util.inject.Injector.getInstance(Injector.java:197)
位于org.roblectric.util.inject.Injector.getInstance(Injector.java:191)
位于org.roblectric.internal.SandboxTestRunner.(SandboxTestRunner.java:73)
位于org.roblectric.roblectrictTestRunner。(roblectrictTestRunner.java:101)
在org.roblectric.roblectrictTestRunner上。(roblectrictTestRunner.java:96)
位于java.lang.reflect.Constructor.newInstance(本机方法)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:288)
位于org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
位于org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
位于androidx.test.internal.runner.junit4.AndroidAnnotatedBuilder.runnerForClass(AndroidAnnotatedBuilder.java:63)
位于org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
位于org.junit.internal.builders.AllDefaultPossibilityBuilder.runnerForClass(AllDefaultPossibilityBuilder.java:26)
位于androidx.test.internal.runner.AndroidRunnerBuilder.runnerForClass(AndroidRunnerBuilder.java:153)
位于org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
位于androidx.test.internal.runner.TestLoader.doCreateRunner(TestLoader.java:73)
位于androidx.test.internal.runner.TestLoader.getRunnersFor(TestLoader.java:104)
位于androidx.test.internal.runner.TestRequestBuilder.build(TestRequestBuilder.java:793)
位于androidx.test.runner.AndroidJUnitRunner.buildRequest(AndroidJUnitRunner.java:547)
位于androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:390)
位于android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1853)
我试过用谷歌搜索它,但我想我找不到我遇到过的同一个案例,我也尝试过使缓存失效/重新启动,但没有任何效果


有什么帮助吗?

我将文件从
/androidtest
移动到
/test
(单元测试),并相应地更新了依赖项

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.core:core-ktx:1.3.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.navigation:navigation-fragment:2.2.2'
implementation 'androidx.navigation:navigation-ui:2.2.2'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation 'androidx.navigation:navigation-fragment-ktx:2.2.2'
implementation 'androidx.navigation:navigation-ui-ktx:2.2.2'
implementation 'androidx.preference:preference:1.1.1'
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'com.google.guava:guava:28.2-android'
/*androidTestImplementation 'androidx.test:core-ktx:1.2.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test:rules:1.2.0'*/
testImplementation 'junit:junit:4.12'
testImplementation ('org.robolectric:robolectric:4.3.1')
该解决方案在报告中被提及

哦,孩子,我脸上有鸡蛋吗