教程 - 在 JVM 平台使用 JUnit 进行代码测试
本教程向你演示如何编写简单的单元测试, 并使用 Gradle 构建工具来运行测试.
教程中的示例程序使用了 kotlin.test
库, 并使用 JUnit 运行测试.
开始之前, 首先请下载并安装最新版的 IntelliJ IDEA.
添加依赖项
在 IntelliJ IDEA 中打开一个 Kotlin 项目. 如果你还没有项目, 请 创建一个新项目.
打开
build.gradle(.kts)
文件, 检查是否有testImplementation
依赖项. 通过这个依赖项, 你将可以使用kotlin.test
和JUnit
:dependencies { // 其他依赖项. testImplementation(kotlin("test")) }dependencies { // 其他依赖项. testImplementation 'org.jetbrains.kotlin:kotlin-test' }向
build.gradle(.kts)
文件添加test
任务:tasks.test { useJUnitPlatform() }test { useJUnitPlatform() }
下面是 build.gradle.kts
的完整代码:
添加需要测试的代码
打开
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 测试源代码文件和资源文件.在
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)) } }
运行测试
使用源代码编辑器侧栏中的图标运行测试:
在 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 创建你的第一个服务器端应用程序.