如何使用 Gradle 运行 JUnit 测试?

新手上路,请多包涵

目前我有以下 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 文件适用于我的存储库 here 。我所有的主要文件都在 src/model/ 中,它们各自的测试在 test/model 中。

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

原文由 letter Q 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 852
2 个回答

如何正确添加 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,则需要完成更多步骤,您应该遵循 本教程

原文由 Oliver Charlesworth 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

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

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

原文由 DivDiff 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题