Q L*_*Liu 86 java junit4 gradle build.gradle
目前我有以下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')
}
Run Code Online (Sandbox Code Playgroud)
这的build.gradle文件是我的仓库在这里.我的所有主文件都在src/model /中,它们各自的测试都在test/model中.
如何正确添加JUnit 4 依赖项,然后在测试/模型的文件夹中运行这些测试?
Oli*_*rth 91
如何正确添加junit 4依赖项?
假设您正在解决标准的Maven(或等效的)回购:
dependencies {
...
testCompile "junit:junit:4.11" // Or whatever version
}
Run Code Online (Sandbox Code Playgroud)
在测试/模型的文件夹中运行这些测试?
您以相同的方式定义测试源集:
sourceSets {
...
test {
java {
srcDirs = ["test/model"] // Note @Peter's comment below
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后调用测试:
./gradlew test
Run Code Online (Sandbox Code Playgroud)
编辑:如果您使用的是JUnit 5,则需要完成更多步骤,您应该按照本教程进行操作.
Div*_*iff 43
如果使用默认的gradle包结构设置项目,即:
src/main/java
src/main/resources
src/test/java
src/test/resources
Run Code Online (Sandbox Code Playgroud)
那么你将不需要修改sourceSets来运行你的测试.Gradle会发现你的测试类和资源都在src/test中.然后你可以像Oliver上面说的那样运行.有一点需要注意:设置属性文件并使用gradle和IDE运行测试类时要小心.我使用Eclipse,当从它运行JUnit时,Eclipse选择一个类路径(bin目录),而gradle选择另一个(构建目录).如果编辑资源文件,这可能会导致混淆,并且在测试运行时看不到您的更改.
nob*_*bar 13
如果您使用Spring Initializr创建项目,则应正确配置所有内容,并且您需要执行的所有操作...
./gradlew clean test --info
Run Code Online (Sandbox Code Playgroud)
--info如果您不想看到测试输出,请删除.clean如果您不想重新运行自上次更改后已经过的测试,请删除.build.gradle在Spring Boot中测试所需的依赖性...
dependencies {
compile('org.springframework.boot:spring-boot-starter')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,测试运行器没有告诉你这个,但它会生成一个HTML报告build/reports/tests/test/index.html.
这是针对Kotlin DSL (build.gradle.kts) 并使用 JUnit 5(JUnit 平台):
tasks.test {
// Discover and execute JUnit4-based tests
useJUnit()
// Discover and execute TestNG-based tests
useTestNG()
// Discover and execute JUnit Platform-based (JUnit 5, JUnit Jupiter) tests
// Note that JUnit 5 has the ability to execute JUnit 4 tests as well
useJUnitPlatform()
}
dependencies {
testImplementation("org.junit.jupiter:junit-jupiter:5.8.2")
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
137081 次 |
| 最近记录: |