在 Kotlin 中进行单元测试,通常结合 JUnit(最常用)、MockK(Kotlin 友好的 Mock 框架)以及构建工具(如 Gradle)。下面从 环境配置 → 写测试 → 运行测试 → 常见框架 一步步说明。
// build.gradle.kts
dependencies {
testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.0")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.0")
}
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.Assertions.*
class CalculatorTest {
@Test
fun `add should return correct sum`() {
val result = 2 + 3
assertEquals(5, result)
}
}
Run./gradlew test
assertEquals(expected, actual)
assertTrue(condition)
assertThrows<Exception> { ... }
dependencies {
testImplementation("org.jetbrains.kotlin:kotlin-test")
}
import kotlin.test.*
@Test
fun testSomething() {
expect(4) { 2 + 2 }
}
testImplementation("io.mockk:mockk:1.13.9")
class UserServiceTest {
private val userRepository = mockk<UserRepository>()
private val userService = UserService(userRepository)
@Test
fun `should return user name`() {
every { userRepository.findName(1) } returns "Alice"
val name = userService.getUserName(1)
assertEquals("Alice", name)
}
}
Android 常用:
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
test/:本地单元测试androidTest/:UI / 设备测试src
├── main
│ └── kotlin
└── test
└── kotlin
└── CalculatorTest.kt
✅ Kotlin 单元测试核心工具:
如果你有具体场景(如 Android / 协程 / 网络请求 / ViewModel),我可以给你更针对性的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。