Avatar ·

如何在 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. 是否有更简洁的写法?