Pruebas, El paquete testing

¿Cómo utilizar el paquete testing de Go?

Go provee el paquete testing para realizar pruebas, estas pruebas se realizan mediante el comando…

$ go test

La primera convención en la escritura de pruebas, es escribir el archivo con el código de las pruebas en el mismo directorio en donde se encuentra el código que se esta probando. Los archivos de pruebas utilizan el nombre del archivo que se esta probando con el sufijo _test. De forma que el archivo math.go tiene a su vez un archivo de pruebas math_test.go y se localiza en el mismo directorio.

paquete
    math.go
    math_test.go

La segunda convención al escribir pruebas es que las funciones que se escriben empiezan con la palabra Test.

Tenemos en este ejemplo el paquete calcular en el archivo calcular.go.

package calcular

func Sumar(a int, b int) int {
    return a + b
}

func Restar(a int, b int) int {
    return a - b
}

func Multiplicar(a int, b int) int {
    return a * b
}

func Dividir(a int, b int) int {
    return a / b
}

Ahora escribimos nuestras funciones de prueba en el archivo calcular_test.go.

package calcular

import "testing"

func TestSumar(t *testing.T) {
    if Sumar(2, 2) != 4 {
        t.Fatal("La suma de 2 + 2 debe ser igual a 4")
    }
}

func TestRestar(t *testing.T) {
    if Restar(5, 3) != 2 {
        t.Fatal("La resta de 5 - 3 debe ser igual a 2")
    }
}

func TestMultiplicar(t *testing.T) {
    if Multiplicar(4, 4) != 16 {
        t.Fatal("La multiplicación de 4 x 4 debe ser igual a 16")
    }
}

func TestDividir(t *testing.T) {
    if Dividir(10, 2) != 5 {
        t.Fatal("La división de 10 / 2 debe ser igual a 5")
    }
}

¿Qué elementos componen un archivo

Un archivo de pruebas generalmente esta compuesto por…

  • La definición del paquete que se va a probar.

    package calcular
    
  • El import del paquete testing.

    import "testing"
    
  • La prueba de cada una de las funciones.

    func TestSumar(t *testing.T) {
        if Sumar(2, 2) != 4 {
            t.Fatal("La suma de 2 + 2 debe ser igual a 4")
        }
    }
    

En este caso se comprueba que Sumar(2,2) no sea diferente de 4, en el caso contrario se dispara un log.Fatal.

VPN

  • Ir a la oferta de NordVPN

Moda

Accesorios