Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menyesuaikan Pelaksanaan Ujian dalam Go Menggunakan `go test`?

Bagaimanakah Saya Boleh Menyesuaikan Pelaksanaan Ujian dalam Go Menggunakan `go test`?

DDD
DDDasal
2024-12-26 10:43:10540semak imbas

How Can I Customize Test Execution in Go Using `go test`?

Menyesuaikan Pelaksanaan Ujian dalam Go dengan "go test"

Apabila menguji pangkalan kod yang kompleks, selalunya wajar untuk melangkau atau mengecualikan ujian tertentu secara terpilih semasa pelaksanaan dengan "go test "perintah. Ini membolehkan pembangun menumpukan pada bidang fungsi tertentu atau menyelesaikan masalah ciri baharu tanpa menjejaskan ujian sedia ada.

Mengecualikan Ujian Menggunakan SkipNow() dan Skip()

Go menyediakan dua kaedah dalam "ujian" pakej untuk melangkau ujian: SkipNow() dan Langkau().

SkipNow() segera melangkau ujian semasa, tidak kira sama ada ia telah mula berjalan atau tidak.

Skip() menambah ulasan pada output ujian yang menunjukkan bahawa ujian telah dilangkau, tetapi ia membenarkan ujian lain dalam pakej atau fail yang sama diteruskan berjalan.

Untuk menggunakan kaedah ini, cuma tambahkan panggilan fungsi yang sesuai pada permulaan fungsi ujian. Contohnya:

func skipCI(t *testing.T) {
  if os.Getenv("CI") != "" {
    t.SkipNow("Skipping testing in CI environment")
  }
}

func TestNewFeature(t *testing.T) {
  skipCI(t)
}

Untuk melangkau ujian secara bersyarat berdasarkan pembolehubah persekitaran, gunakan SkipNow() dan tetapkan pembolehubah sebelum melaksanakan ujian.

Tidak Termasuk Ujian Menggunakan Mod Pendek

Pilihan lain untuk mengecualikan ujian ialah menggunakan mod "pendek". Mod ini mengarahkan "go test" untuk hanya menjalankan ujian yang ditandakan dengan bendera -test.short dalam anotasinya.

Untuk menambah -test.short flag pada fungsi ujian, ubah suai anotasi ujian seperti berikut :

// +test.short
func TestNewFeature(t *testing.T) { ... }

Untuk menjalankan ujian dalam mod pendek, laksanakan "go test" dengan -short bendera:

go test -short

Nota: Pendekatan ini mengecualikan ujian berdasarkan anotasinya dan bukannya berdasarkan keadaan masa jalan secara dinamik.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyesuaikan Pelaksanaan Ujian dalam Go Menggunakan `go test`?. 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