【发布时间】:2021-03-15 22:08:35
【问题描述】:
问题
如何在 Java Gradle 项目中运行 JUnit 单元测试?
解释
我有一个 Java Gradle 项目。它使用的是 Vert.x,但现在我只是想在使用 Vert.x Unit 之前从基础知识(JUnit)开始。我想开始为我的项目编写单元测试。在单元测试方面,我是一个超级初学者。
我不知道如何运行我的单元测试。我的项目中有一个目录src/test/java,在那个目录中我有一个包com.mycompany.myproject.verticle。在那个包里面,我有一个类:
package com.mycompany.myproject.verticle;
import org.junit.test;
public class VerticleUnitTest {
@Test
public void testTest() {
System.out.println("TESTING ::::::::");
}
}
在我的build.gradle 文件中,我添加了以下内容:
testCompile('junit:junit:4.13')
...
sourceSets {
test {
java {
srcDirs = ["src/test/java"]
}
}
}
然后在我的终端中,在项目的根目录中,我运行:
./gradlew test
我的测试没有打印出任何东西。我在控制台输出中没有看到任何表明测试已运行的内容。
我的尝试
我尝试更改 srcDirs 值以包含整个目录 (src/main/java/com/mycompany/myproject) 只是为了让它工作,即使我确信将来我会在不同的包中进行不同的单元测试。我尝试将srcDirs 值更改为.,然后再更改为/。这些似乎都不起作用。
我尝试只使用 ./gradlew clean build 构建我的项目,看看这是否会帮助我进行测试,但这不起作用。
我尝试将testCompile(...) 更改为testImplementation(...)。那没用。
【问题讨论】:
-
./graldew test命令的输出是什么?默认情况下,在 Gradle 中您不会有测试执行日志,但您可以通过配置测试任务来启用日志记录,例如:test { testLogging.showStandardStreams = true } -
您也可以在执行 Gradle 时增加日志级别,这将显示您的单元测试的输出:
./gradlew test -i
标签: java unit-testing gradle junit build.gradle