A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Code coverage

18/30
Recursos

Aportes 9

Preguntas 3

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

鉁 Mini resumen

Ejecutar los test con la bandera -coverprofile=coverage.out para obtener un coverage. Esto nos permite saber que parte del c贸digo hemos testeado y cual no:

$ go test -coverprofile=coverage.out

Para tener las metricas legibles del resultado del coverage usamos:

 // ver resumen resumen en la terminal
$ go tool cover -func=coverage.out
// o ver resumen en el navegador
$ go tool cover -html=coverage.out  

En Windows, cualquier comando con un flag que lleve un par clave/valor se debe colocar el doble guion:

--coverprofile=coverage.out
--html=coverage.out
--func=coverage.out
package main

import "testing"

func TestSum(t *testing.T) {
	tables := []struct {
		x int
		y int
		r int
	}{
		{1, 2, 3},
		{2, 2, 4},
		{3, 2, 5},
		{25, 26, 51},
	}

	for _, table := range tables {
		total := Sum(table.x, table.y)
		if total != table.r {
			t.Errorf("Sum(%d, %d) was incorrect, got: %d, want: %d.", table.x, table.y, total, table.r)
		}
	}
}

func TestMax(t *testing.T) {
	tables := []struct {
		x int
		y int
		r int
	}{
		{1, 2, 2},
		{2, 2, 2},
		{3, 2, 3},
		{25, 26, 26},
	}

	for _, table := range tables {
		max := GetMax(table.x, table.y)
		if max != table.r {
			t.Errorf("Max(%d, %d) was incorrect, got: %d, want: %d.", table.x, table.y, max, table.r)
		}
	}
}

Esta clase es de las m谩s valiosas del curso.

Summary:

  • Code coverage

    Test coverage is a measure used to describe the degree to which the source code of a program is executed when a particular test suite runs.

    If the software you are testing contains a total of 100 lines of code and the number of lines of code that is actually validated in the same software is 50, then the code coverage percentage of this software will be 50 percent.

    To test code coverage you can use:

    $ go test -cover
    

If you wanted to, you could profile the coverage with:

$ go test -coverprofile=coverage.out # save it
$ go tool cover -func=coverage.out # make it more readable
$ go tool cover -html=coverage.out # or view it on the browser

Con la extensi贸n oficial de go en VS Code se puede evidenciar el coverage tambi茅n, solo se corren un test o los test de todo un package y te resalta con color verde lo que tienes cubierto, y rojo lo que falta por cubrir, s煤per 煤til para debuggear local tambi茅n 馃槃

Muy buena la herramienta!!, ya para entornos un poco m谩s productivos, la herramienta de Sonar nos puede ayudar tambi茅n con el coverage!!!

Muy interesante

馃槑