如何在 Kotlin 中正确测试异常(JUnit)
大家好!我是 Kotlin 新手,正在尝试为我的项目编写单元测试。以前我用 Java 时,使用 `@Test(expected = ...)` 或 `try-catch` 块来检查异常。但在 Kotlin 中,我遇到了问题——代码变得不太可读,而且我不确定自己做得是否正确。
我有一个函数 `divide(a: Int, b: Int): Int`,当除数为零时会抛出 `IllegalArgumentException`。以下是我尝试测试的方式:
```kotlin
@Test
fun testDivisionByZero() {
try {
divide(10, 0)
fail("Exception expected")
} catch (e: IllegalArgumentException) {
// success
}
}
```
这能工作,但看起来很冗长。我听说 Kotlin 有更现代的方法,比如使用 JUnit 5 的 `assertThrows`。但我不确定如何正确使用它们,以及 Kotlin 有哪些最佳实践。
请指教:
1. 哪种方法被认为是 Kotlin 中最地道的?
2. 是否有更简洁的写法?