Processo di test di Golang [chiuso]

-8

Sono nuovo di Golang e RunC e ora sto facendo qualche ricerca su di esso come parte della mia carriera. Che tipo di contenuti controllano le funzioni '_test.go' durante il test di un programma o di un contenitore con Golang (o RunC in caso di contenitori Docker)? Qualcuno può spiegarmi la procedura di test?

    
posta Sambhu 04.09.2015 - 07:24
fonte

1 risposta

-1

Personalmente, per ogni pacchetto ho un file _test.go con diverse funzioni di test in (devono prendere la forma func TestX(t *testing.T) ). Ognuna di queste funzioni di test scorre tutte le mie funzioni regolari nel pacchetto, trasmettendo dati accettabili, dati estremi (dati sui limiti accettabili) e dati non validi (passando nil in, ecc.).

Quindi eseguo il test dei valori restituiti e utilizzo t.Log() per stampare l'output utile. Se il tuo codice non si comporta come dovrebbe, puoi usare t.Fail() per far fallire il test, o t.Errorf() per registrare un messaggio di errore e poi fallire.

Una tecnica utile per mantenere più piccoli i file di test è avere un tipo di struttura chiamato testData o qualcosa di simile, con un campo per:

  • Un'istanza dei dati in cui passerai.
  • Ogni valore di ritorno atteso da varie funzioni.

e una funzione che imposta e restituisce una porzione di dati di test inizializzati.

Devi quindi solo chiamare td := setupTestData() e passare in rassegna ogni membro, passando e testando gli stessi campi.

Go dispone di strumenti utili per il test che includono lo strumento cover molto utile. Apri il terminale o il prompt dei comandi nella directory del pacchetto e fai go tool cover -html="cover.out" per vedere una rappresentazione visiva di quanto del tuo codice è coperto dal test.

    
risposta data 04.09.2015 - 10:33
fonte

Leggi altre domande sui tag