【问题标题】:Setup JUnit, Mockito in LibGdx (Kotlin)在 LibGdx (Kotlin) 中设置 JUnit、Mockito
【发布时间】:2020-03-28 15:45:29
【问题描述】:

我正在尝试在新的 LibGdx 项目中设置单元测试。 我在:core 项目中添加了依赖项:

project(":core") {
    apply plugin: "kotlin"
    apply plugin: 'kotlin-kapt'

    dependencies {
        // ...

        testImplementation "org.junit.jupiter:junit-jupiter-api:5.6.1"
        testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.6.1"
        testImplementation "com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0"
        kaptTest "org.mockito:mockito-core:3.3.3"
        kaptTest "com.google.dagger:dagger-compiler:$daggerVersion"
    }

测试文件夹:core/src/test/kotlin/

测试类:

import org.junit.jupiter.api.Assertions.*
import org.junit.jupiter.api.Test

class FirstTest {
    @Test
    fun `my first test`() {
        assertEquals(1,1)
    }
}

但我收到错误:Unresolved reference: junit

我做错了什么?

P.S.:我正在尝试在 IntelliJ IDEA 中运行测试

[编辑]

repo 测试分支链接:https://github.com/Alcadur/libgdx-not-working-tests

【问题讨论】:

  • 你是否在你的模块 gradle 脚本中设置了测试源集?应该设置sourceSets.test.java.srcDirs += "src/test/kotlin" 之类的东西,否则gradle 无法知道testImplementation 适用于何处。
  • 由于您只显示部分 Gradle 文件,您可能在测试任务中缺少 ˋuseJUnitPlatformˋ。
  • 我应用了您建议的更改,但没有帮助,我将完整的 gradle.build 添加到问题中

标签: kotlin libgdx junit5


【解决方案1】:

最后,我找到了解决问题的方法 (full article)

我必须更换

sourceSets.main.java.srcDirs = [ "src/" ]
sourceSets.test.java.srcDirs = [ "test" ]

sourceSets.main.java.srcDirs = [ "src/main/java/" ]
sourceSets.test.java.srcDirs = [ "src/test/java/" ]

我也为这个问题更新了 repo:GitHub repo

【讨论】:

    猜你喜欢
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    相关资源
    最近更新 更多