如何使用Gradle运行JUnit测试?

2022-08-31 08:48:19

目前我有以下build.gradle文件:

apply plugin: 'java'

sourceSets {
    main {
        java {
            srcDir 'src/model'
        }
    }
}

dependencies {
    compile files('libs/mnist-tools.jar', 'libs/gson-2.2.4.jar')
    runtime fileTree(dir: 'libs', include: '*.jar')
}    


这个 build.gradle 文件是针对我的存储库。我所有的主要文件都在src/model/中,它们各自的测试都在test/model中。

如何正确添加 JUnit 4 依赖项,然后在测试/模型的文件夹中运行这些测试?


答案 1

如何正确添加 junit 4 依赖项?

假设您正在针对标准 Maven(或等效)存储库进行解析:

dependencies {
    ...
    testCompile "junit:junit:4.11"  // Or whatever version
}

在测试/模型的文件夹中运行这些测试?

定义测试源集的方式相同:

sourceSets {
    ...

    test {
        java {
            srcDirs = ["test/model"]  // Note @Peter's comment below
        }
    }
}

然后调用测试作为:

./gradlew test

编辑:如果您使用的是JUnit 5,则需要完成更多步骤,则应遵循本教程


答案 2

如果您使用默认的 gradle 包结构设置项目,即:

src/main/java
src/main/resources
src/test/java
src/test/resources

那么你就不需要修改 sourceSet 来运行你的测试。Gradle会发现你的测试类和资源都在src/test中。然后你可以像奥利弗上面说的那样运行。需要注意的一点是:在设置属性文件和使用 gradle 和 IDE 运行测试类时要小心。我使用Eclipse,当从它运行JUnit时,Eclipse选择一个类路径(bin目录),而gradle选择另一个(构建目录)。如果编辑资源文件,并且看不到更改反映在测试运行时,则可能会导致混淆。


推荐