Ce face testing.T.Skip
t.Skip scrie motivul și oprește testul (ca t.Fatal), dar îl marchează ca sărit (--- SKIP), nu ca eșuat. Îl folosești pentru teste care nu pot rula în orice mediu: au nevoie de o bază de date, de rețea, de un anumit sistem de operare sau durează mult.
Combinat cu testing.Short(), permite go test -short pentru o rulare rapidă care sare testele lente. Testele sărite sunt afișate doar cu -v.
Parametri
| Parametru | Descriere |
|---|---|
args / format |
Motivul, afișat în rezultat. |
Ce returnează
Nu se întoarce: testul se oprește.
Exemple
Exemplul 1: Test care are nevoie de o bază de date
// fișierul db_test.go
package magazin
import (
"os"
"testing"
)
func TestSalvareComanda(t *testing.T) {
dsn := os.Getenv("TEST_DB")
if dsn == "" {
t.Skip("setează TEST_DB ca să rulezi testele cu baza de date")
}
t.Log("conectare la", dsn)
}
func TestCalculTotal(t *testing.T) {
if 2*49.5 != 99 {
t.Error("total greșit")
}
}
Rezultatul în terminal (timpii diferă la fiecare rulare)
$ go test -v
=== RUN TestSalvareComanda
db_test.go:11: setează TEST_DB ca să rulezi testele cu baza de date
--- SKIP: TestSalvareComanda (0.00s)
=== RUN TestCalculTotal
--- PASS: TestCalculTotal (0.00s)
PASS
ok magazin 0.307s
Exemplul 2: Teste lente sărite cu -short
// fișierul import_test.go
package magazin
import (
"testing"
"time"
)
func TestImportComplet(t *testing.T) {
if testing.Short() {
t.Skip("test lent, sărit în modul -short")
}
time.Sleep(2 * time.Second) // simulăm importul a 100 000 de produse
}
Rezultatul în terminal (timpii diferă la fiecare rulare)
$ go test -v -short
=== RUN TestImportComplet
import_test.go:10: test lent, sărit în modul -short
--- SKIP: TestImportComplet (0.00s)
PASS
ok magazin 0.292s
Greșeli frecvente
- Sari peste teste care eșuează „ca să treacă build-ul”. Un test sărit nu mai verifică nimic; repară-l sau șterge-l.
Comenzi înrudite
testing.T: Tipul primit de fiecare funcție de test; prin el raportezi erori, scrii mesaje și controlezi testul.testing.T.Fatal: Marchează testul ca eșuat, scrie mesajul și oprește imediat testul curent; celelalte teste continuă.testing.T.Parallel: Anunță că testul poate rula în paralel cu alte teste paralele, ca suita să se termine mai repede.