Gradle构建仅在测试中失败(Android Studio,Kotlin)

Gradle构建仅在测试中失败(Android Studio,Kotlin),android,gradle,junit,kotlin,Android,Gradle,Junit,Kotlin,我有一个Android多模块项目,想添加JUnit测试。有趣的是,在添加了第一个Testclass之后,当我想要开始测试时,Gradle构建失败了。我不清楚错误信息,因为它们没有任何意义 Gradle模块依赖于具有默认依赖项的基本模块 build.gradle:核心libs build.gradle:核心测试库 build.gradle:主模块 考试班 只需通过Android Studio构建项目,效果就非常好。但是当我想运行testmethod时,compileKotlin会失败,并出现一系列

我有一个Android多模块项目,想添加JUnit测试。有趣的是,在添加了第一个Testclass之后,当我想要开始测试时,Gradle构建失败了。我不清楚错误信息,因为它们没有任何意义

Gradle模块依赖于具有默认依赖项的基本模块

build.gradle:核心libs build.gradle:核心测试库 build.gradle:主模块 考试班 只需通过Android Studio构建项目,效果就非常好。但是当我想运行testmethod时,compileKotlin会失败,并出现一系列错误:

e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\QueryDateTimeFormatter.kt: (4, 12): Unresolved reference: threeten
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\QueryDateTimeFormatter.kt: (5, 12): Unresolved reference: threeten
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\QueryDateTimeFormatter.kt: (7, 10): Class 'QueryDateTimeFormatter' is not abstract and does not implement abstract member public abstract fun format(dateTime: LocalDateTime): String defined in de.tim_brueggenthies.android.baselibraries.LocalDateTimeFormatter
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\QueryDateTimeFormatter.kt: (9, 28): Unresolved reference: DateTimeFormatter
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\QueryDateTimeFormatter.kt: (9, 48): Unresolved reference: DateTimeFormatter
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\QueryDateTimeFormatter.kt: (11, 5): 'format' overrides nothing
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\QueryDateTimeFormatter.kt: (11, 35): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClient.kt: (4, 12): Unresolved reference: threeten
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClient.kt: (8, 74): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClient.kt: (8, 117): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClient.kt: (20, 31): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClient.kt: (20, 47): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClient.kt: (22, 30): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClient.kt: (22, 46): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClientImpl.kt: (5, 12): Unresolved reference: threeten
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClientImpl.kt: (17, 74): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClientImpl.kt: (17, 98): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClientImpl.kt: (40, 17): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (5, 12): Unresolved reference: koin
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (7, 33): Unresolved reference: module
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (8, 5): Unresolved reference: single
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (8, 32): Unresolved reference: get
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (8, 39): Unresolved reference: get
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (8, 46): Unresolved reference: get
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (9, 5): Unresolved reference: single
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (10, 5): Unresolved reference: single
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (10, 37): Unresolved reference: get
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (10, 44): Unresolved reference: get
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (11, 5): Unresolved reference: single
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (12, 5): Unresolved reference: single
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (13, 5): Unresolved reference: factory
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\TurnierApiDi.kt: (3, 12): Unresolved reference: koin
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\TurnierApiDi.kt: (8, 9): Unresolved reference: loadKoinModules
所有“未解析引用”都无效,未重写的方法也被重写


如果有人知道为什么会出现此问题,那就太好了。

向我们展示您的gradle依赖关系。您可能缺少一些testImplementaion或AndroidTestImplementAion我编辑了我的问题,以包含gradle依赖项。如果您能检查一下,我将不胜感激!您没有测试类的导入,在
testImplementation
Gradle配置中也没有依赖项。像junit这样的依赖项是通过testApi声明的,因此其他模块可以根据主模块访问它们。你说测试类没有导入是什么意思?你找到解决方法了吗?
apply plugin: 'kotlin'

dependencies {
    testApi "org.koin:koin-test:1.0.2"
    testApi "org.amshove.kluent:kluent-android:1.42"
    testApi "junit:junit:4.12"
}
apply plugin: 'kotlin'

dependencies {
    implementation "com.squareup.retrofit2:retrofit:2.1.0"
    api "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.0.0"
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.0.0"
    implementation "org.jsoup:jsoup:1.11.3"
    implementation "com.squareup.retrofit2:converter-scalars:2.1.0"
    implementation "org.jetbrains.kotlin:kotlin-reflect:1.3.11"

    api project(":core-libs")
    testApi project(":core-test-libs")
}
class RegionListJsoupParserTest : KoinTest {

    private val underTest = RegionListJsoupParser()

    @Test
    fun parseRegionResult() {
        val testFile = File("Ligen - Turnier.de.html")
        val testDocument = Jsoup.parse(testFile, StandardCharsets.UTF_8.name())

        val result = underTest.parse(testDocument)

        println(result)
    }
}
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\QueryDateTimeFormatter.kt: (4, 12): Unresolved reference: threeten
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\QueryDateTimeFormatter.kt: (5, 12): Unresolved reference: threeten
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\QueryDateTimeFormatter.kt: (7, 10): Class 'QueryDateTimeFormatter' is not abstract and does not implement abstract member public abstract fun format(dateTime: LocalDateTime): String defined in de.tim_brueggenthies.android.baselibraries.LocalDateTimeFormatter
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\QueryDateTimeFormatter.kt: (9, 28): Unresolved reference: DateTimeFormatter
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\QueryDateTimeFormatter.kt: (9, 48): Unresolved reference: DateTimeFormatter
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\QueryDateTimeFormatter.kt: (11, 5): 'format' overrides nothing
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\QueryDateTimeFormatter.kt: (11, 35): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClient.kt: (4, 12): Unresolved reference: threeten
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClient.kt: (8, 74): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClient.kt: (8, 117): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClient.kt: (20, 31): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClient.kt: (20, 47): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClient.kt: (22, 30): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClient.kt: (22, 46): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClientImpl.kt: (5, 12): Unresolved reference: threeten
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClientImpl.kt: (17, 74): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClientImpl.kt: (17, 98): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\TurnierClientImpl.kt: (40, 17): Unresolved reference: LocalDateTime
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (5, 12): Unresolved reference: koin
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (7, 33): Unresolved reference: module
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (8, 5): Unresolved reference: single
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (8, 32): Unresolved reference: get
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (8, 39): Unresolved reference: get
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (8, 46): Unresolved reference: get
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (9, 5): Unresolved reference: single
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (10, 5): Unresolved reference: single
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (10, 37): Unresolved reference: get
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (10, 44): Unresolved reference: get
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (11, 5): Unresolved reference: single
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (12, 5): Unresolved reference: single
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\KoinModules.kt: (13, 5): Unresolved reference: factory
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\TurnierApiDi.kt: (3, 12): Unresolved reference: koin
e: E:\Remote Repos\tura-badminton-android-app\turnierapiclient\src\main\java\de\tim_brueggenthies\android\turnierapiclient\di\TurnierApiDi.kt: (8, 9): Unresolved reference: loadKoinModules