Ada dua cara. Yang mudah adalah dengan menggunakan -run
bendera dan memberikan nama yang cocok dengan pola tes yang ingin Anda jalankan.
Contoh:
$ go test -run NameOfTest
Lihat dokumen untuk info lebih lanjut.
Cara lain adalah memberi nama file tertentu, yang berisi tes yang ingin Anda jalankan:
$ go test foo_test.go
Tapi ada tangkapan. Ini bekerja dengan baik jika:
foo.go
adalah di package foo
.
foo_test.go
ada di package foo_test
dan impor 'foo'.
Jika foo_test.go
dan foo.go
merupakan paket yang sama (kasus umum) maka Anda harus memberi nama semua file lain yang diperlukan untuk dibuat foo_test
. Dalam contoh ini akan menjadi:
$ go test foo_test.go foo.go
Saya akan merekomendasikan untuk menggunakan -run
polanya. Atau, jika memungkinkan, selalu jalankan semua tes paket.
-run
menyenangkan? Saya tidak dapat menemukan referensi manual tentang itu.go help testflag
go test utils.go utils_test.go
, outputnya adalahok command-line-arguments 0.002s
. Itu tidak menjalankan tes. Alasan saya ingin menggunakan mode tes ini adalah karena paket berisi banyak file dan mereka belum mengkompilasi kecuali utils. Jadi saya ingin menyelesaikan utils sebelum workinqg pada file lain. Bagaimana saya bisa melakukan itu?-v
flag (verbose). Dari docs-v Verbose output: log all tests as they are run. Also print all text from Log and Logf calls even if the test succeeds.
Jawaban @ zzzz sebagian besar sudah selesai, tetapi hanya untuk menyelamatkan orang lain dari tidak harus menggali melalui dokumentasi yang direferensikan Anda dapat menjalankan tes tunggal dalam sebuah paket sebagai berikut:
Perhatikan bahwa Anda ingin memberikan nama tes, bukan nama file tempat tes tersebut dilakukan.
The
-run
flag benar-benar menerima regex sehingga Anda bisa membatasi uji coba untuk kelas tes. Dari dokumen:sumber
Saat menjalankan tes tunggal biasanya saya lakukan:
-count 1
juga memastikan bahwa tes dijalankan setiap kali alih-alih di-cache. Berguna saat Anda menguji kondisi ras dan memiliki tes yang kadang-kadang gagal. Dalam versi Go tidak menggunakan modul yang sama dapat dicapai dengan pengaturanGOCACHE=off
tetapi ini berinteraksi buruk dengan modul Go.sumber
di intelliJ IDEA go-lang plugin (dan saya asumsikan dalam jetbrains Gogland) Anda bisa mengatur jenis tes ke file yang sedang berjalan> edit konfigurasi
sumber
sumber
Mencegah caching hasil tes.
sumber
go
file uji dalam paket itu-run TestCaseFunc
sumber