Go Test de base


Exemple

main.go :

package main

import (
    "fmt"
)

func main() {
    fmt.Println(Sum(4,5))
}

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

main_test.go :

package main

import (
    "testing"
)

// Test methods start with `Test`
func TestSum(t *testing.T) {
    got := Sum(1, 2)
    want := 3
    if got != want {
        t.Errorf("Sum(1, 2) == %d, want %d", got, want)
    }
}

Pour exécuter le test, utilisez simplement la commande go test :

$ go test
ok      test_app    0.005s

Utilisez le drapeau -v pour voir les résultats de chaque test:

$ go test -v
=== RUN   TestSum
--- PASS: TestSum (0.00s)
PASS
ok      _/tmp    0.000s

Utilisez le chemin d'accès ./... pour tester les sous-répertoires de manière récursive:

$ go test -v ./...
ok      github.com/me/project/dir1    0.008s
=== RUN   TestSum
--- PASS: TestSum (0.00s)
PASS
ok      github.com/me/project/dir2    0.008s
=== RUN   TestDiff
--- PASS: TestDiff (0.00s)
PASS

Exécuter un test particulier:
S'il existe plusieurs tests et que vous souhaitez exécuter un test spécifique, vous pouvez le faire comme suit:

go test -v -run=<TestName> // will execute only test with this name

Exemple:

go test -v run=TestSum