教程 - 在 JVM 平台使用 JUnit 进行代码测试
最终更新: 2025/02/06本教程向你演示如何编写简单的单元测试, 并使用 Gradle 构建工具来运行测试.
教程中的示例程序使用了 kotlin.test
库, 并使用 JUnit 运行测试.
开始之前, 首先请下载并安装最新版的 IntelliJ IDEA.
添加依赖项
在 IntelliJ IDEA 中打开一个 Kotlin 项目. 如果你还没有项目, 请 创建一个新项目.
打开
build.gradle(.kts)
文件, 检查是否有testImplementation
依赖项. 通过这个依赖项, 你将可以使用kotlin.test
和JUnit
:KotlinGroovydependencies { // 其他依赖项. testImplementation(kotlin("test")) }
dependencies { // 其他依赖项. testImplementation 'org.jetbrains.kotlin:kotlin-test' }
向
build.gradle(.kts)
文件添加test
任务:KotlinGroovytasks.test { useJUnitPlatform() }
test { useJUnitPlatform() }
note
如果你在构建脚本中使用了
useJUnitPlatform()
函数,kotlin-test
库会自动包含 JUnit 5 依赖项. 在 JVM 项目中, 以及 Kotlin Multiplatform (KMP) 项目的 JVM 测试代码中, 这个设置让你可以使用所有的 JUnit 5 API, 以及kotlin-test
API.
下面是 build.gradle.kts
的完整代码:
plugins {
{...}
添加需要测试的代码
打开
src/main/kotlin
中的Main.kt
文件.src
目录包含 Kotlin 源代码文件和资源文件.Main.kt
文件包含示例代码, 它会打印输出Hello, World!
.创建
Sample
类, 包含sum()
函数, 它会将两个整数加在一起:class Sample() { fun sum(a: Int, b: Int): Int { return a + b } }
创建测试
在 IntelliJ IDEA 中, 对
Sample
类选择 Code | Generate | Test...:输入测试类的名称. 比如,
SampleTest
.IntelliJ IDEA 会在
test
目录中创建SampleTest.kt
文件. 这个目录包含 Kotlin 测试源代码文件和资源文件.note
你也可以在
src/test/kotlin
目录中为测试代码手动创建一个*.kt
文件.在
SampleTest.kt
中为sum()
函数添加测试代码:使用
@Test
注解, 定义测试函数testSum()
.使用
assertEquals()
函数, 检查sum()
函数是否返回了期待的值.
import org.example.Sample import org.junit.jupiter.api.Assertions.* import kotlin.test.Test class SampleTest { private val testSample: Sample = Sample() @Test fun testSum() { val expected = 42 assertEquals(expected, testSample.sum(40, 2)) } }
运行测试
使用源代码编辑器侧栏中的图标运行测试:
note
你也可以在命令行执行命令
./gradlew check
, 运行整个项目的所有测试.在 Run 工具窗口检查测试结果:
测试函数执行成功了.
将
expected
变量值修改为 43, 确认测试正确工作:@Test fun testSum() { val expected = 43 assertEquals(expected, classForTesting.sum(40, 2)) }
再次运行测试, 并检查结果:
测试执行失败.
下一步做什么?
完成你的第一个测试之后, 你可以:
使用
kotlin.test
的其他函数, 编写更多测试. 比如, 使用assertNotEquals()
函数.使用 Kotlin Power-assert 编译器 plugin 改进你的测试输出. 这个 plugin 使用上下文信息, 让测试输出更加详细丰富.
使用 Kotlin 和 Spring Boot 创建你的第一个服务器端应用程序.