Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ujian Unit Di Pergi

Ujian Unit Di Pergi

王林
王林asal
2024-07-30 16:56:50856semak imbas

Unit Test At Go

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn