Go menyediakan pakej ujian, yang mengandungi banyak alatan untuk tujuan ujian unit.
Persediaan
Mari kita berlatih, sediakan dahulu struct Cube, pembolehubah objek struct yang terhasil kemudiannya akan digunakan sebagai bahan ujian.
package main import "math" type Cube struct { Sisi float64 } func (k Cube) Volume() float64 { return math.Pow(k.Sisi, 3) } func (k Cube) Area() float64 { return math.Pow(k.Sisi, 2) * 6 } func (k Cube) circumference() float64 { return k.Sisi * 12 }
Simpan kod di atas dalam fail training1.go
package main import "testing" var ( cube Cube = Cube{4} volume Should float64 = 64 area Should float64 = 96 circumference Should float64 = 48 ) func TestCalculateVolume(t *testing.T) { t.Logf("Volume : %.2f", cube.Volume()) if cube.Volume() != volumeShould { t.Errorf("WRONG! should be %.2f", volumeShould) } } func TestCalculateSurface(t *testing.T) { t.Logf("Area : %.2f", cube.Area()) if cube.Area() != areaShould { t.Errorf("WRONG! should be %.2f", areaShould) } } func TestCalculatePerimeter(t *testing.T) { t.Logf("Perimeter : %.2f", cube.Perimeter()) if cube.Perimeter() != circumferenceShould { t.Errorf("WRONG! should be %.2f", circumferenceShould) } }
Kaedah t.Logf() digunakan untuk memaparkan log. Kaedah ini bersamaan dengan fmt.Printf() .
Kaedah Errorf() digunakan untuk memaparkan log diikuti dengan pernyataan bahawa kegagalan berlaku semasa ujian.
Cara untuk melaksanakan ujian adalah dengan menggunakan arahan go test. Oleh kerana struct yang diuji berada dalam fail bab55.go, apabila melaksanakan ujian menggunakan ujian go, nama fail bab55_test.go dan bab55.go perlu ditulis sebagai argumen. Argumen -v atau verbose digunakan untuk memaparkan semua output log semasa ujian.
Jalankan aplikasi seperti yang ditunjukkan dalam imej di bawah, dapat dilihat bahawa tiada ujian yang gagal. OK, kemudian cuba tukar formula pengiraan untuk kaedah Keliling(). Tujuan perubahan ini adalah untuk mengetahui cara penanda gagal muncul apabila ujian gagal.
func (k Cube) Perimeter() float64 { return k.Side * 15 }
Selepas itu jalankan ujian sekali lagi.
Atas ialah kandungan terperinci Ujian Unit Di Pergi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!