Kotlin:
Escribiendo pruebas
Cómo hacerlo:
Kotlin soporta el desarrollo guiado por pruebas con varios marcos de trabajo, siendo los más populares JUnit, Kotest y MockK para el mockeo. Aquí hay un ejemplo simple utilizando JUnit:
import org.junit.jupiter.api.Test
import kotlin.test.assertEquals
class CalculatorTest {
@Test
fun `suma dos números`() {
val calculator = Calculator()
val result = calculator.add(2, 3)
assertEquals(5, result)
}
}
class Calculator {
fun add(a: Int, b: Int): Int = a + b
}
Salida de muestra
Prueba pasada.
Para un enfoque de prueba más sofisticado utilizando Kotest, que ofrece un estilo de escritura de prueba más idiomático de Kotlin, vea el ejemplo a continuación:
import io.kotest.core.spec.style.StringSpec
import io.kotest.matchers.shouldBe
class CalculatorSpec : StringSpec({
"sumar 2 y 3 debería retornar 5" {
val calculator = Calculator()
calculator.add(2, 3) shouldBe 5
}
})
Usando MockK para pruebas con mocks:
import io.mockk.every
import io.mockk.mockk
import org.junit.jupiter.api.Test
import kotlin.test.assertEquals
class ServiceTest {
private val repository = mockk<Repository>()
private val service = Service(repository)
@Test
fun `obtener datos retorna datos simulados`() {
every { repository.getData() } returns "Datos Simulados"
val result = service.getData()
assertEquals("Datos Simulados", result)
}
}
class Service(private val repository: Repository) {
fun getData(): String = repository.getData()
}
interface Repository {
fun getData(): String
}
Salida de muestra
Prueba pasada.
Estos ejemplos ilustran los conceptos básicos de escribir pruebas unitarias en Kotlin. A medida que tu aplicación crezca, considera explorar técnicas y herramientas de prueba más avanzadas proporcionadas por cada marco de trabajo.