Cómo probar excepciones correctamente en Kotlin con JUnit
¡Hola a todos! Soy nuevo en Kotlin y estoy intentando escribir pruebas unitarias para mi proyecto. Antes escribía en Java, donde para verificar excepciones usaba `@Test(expected = ...)` o bloques `try-catch`. Pero en Kotlin me encontré con un problema: el código se volvió menos legible y no estoy seguro de estar haciendo todo correctamente.
Tengo una función `divide(a: Int, b: Int): Int` que lanza `IllegalArgumentException` si el divisor es cero. Así es como intenté probarla:
```kotlin
@Test
fun testDivisionByZero() {
try {
divide(10, 0)
fail("Exception expected")
} catch (e: IllegalArgumentException) {
// success
}
}
```
Esto funciona, pero se ve voluminoso. He oído que en Kotlin hay enfoques más modernos, por ejemplo, usando `assertThrows` de JUnit 5. Pero no estoy seguro de cómo aplicarlos correctamente y cuáles son las best practices para Kotlin.
Por favor, indíquenme:
1. ¿Qué método se considera más idiomático para Kotlin?
2. ¿Hay alguna