Escriu per cercar…

Test

Les proves unitàries són petites proves aïllades que comproven si un mètode, classe, funcionalitat o component implementa correctament la seva lògica empresarial.

S'ensenya a
Entorns de desenvolupamentVerificació i optimització de programariDAM

Introducció

Hello World

Crea un projecte amb Amper

test/

El codi de proves es troba a la carpeta test/:

|-src/            # production code
|  ...
|-test/           # test code
|  |-MainTest.kt
|  |-...
|-module.yaml

Amper configura el framework de proves Kotlin test de manera automàtica per a cada plataforma

L’únic que has de fer és afegir els teus tests en la carpeta test/.

WorldTest

En crear el projecte s’ha creat per defecte la classe de proves WorldTest.

Les funcions doTest i shoulFail estan anotades amb @Test.

Aquesta anotació indica al framework de proves que es tracta d’una prova que ha d’executar.

Una de les proves passa i l’altra falla 🤔

És important confirmar que una prova falla si ha de fallar!

Exercici

Modifica la funció shouldFail per tal que passi la prova.

Mostra la solució
kotlin
@Test
fun shouldFail() {
    assertTrue(true)
}

Test-Driven Development

Crea el fitxer test/CalculatorTest.kt amb una prova per a la funció add() que suma dos números,

kotlin
test/CalculatorTest.kt
import Calculator.add
import kotlin.test.Test
import kotlin.test.assertEquals

class CalculatorTest {

    @Test
    fun testAdd() {
        assertEquals(5, add(2, 3))
    }
}

Ja sé que la IDE diu que no pot resoldre la referència add i que el primer que penses a fer és crear la funció add, però ara l’objectiu és aprendre a programar quan les coses són molt òbvies.

Apren una metodologia que et servirà quan les coses no siguin obvies ⛈️🌩️ 😐

El test falla! (A vegades no passa 😹, a mi més d’una vegada, com més anys més històries per explicar).

I a més tens una explicació que coincideix amb el que segur que pensaves, que bé 👻.

Ara el primer objectiu és que el codi funcioni.

Has de crear la referència add en el fitxer src/Calculator.kt

kotlin
src/Calculator.kt
fun add(a: Int, b: Int) = 0

Estàs llegint una vista prèvia.

Inicia sessió amb Google per llegir la pàgina completa.

Inicia sessió amb Google

Amb qualsevol compte de Google. Només et demanarem que acceptis les condicions del servei.