Amalan Terbaik untuk Mengasingkan Unit dan Ujian Integrasi dalam Go
Pengenalan:
Untuk memisahkan ujian unit dan integrasi secara berkesan dalam Go menggunakan testimoni, adalah penting untuk mengikuti amalan terbaik yang telah ditetapkan. Ini membolehkan anda mengawal ujian yang hendak disertakan berdasarkan keperluan projek.
Penyelesaian:
Satu pendekatan biasa ialah menggunakan bendera -integrate dalam utama:
var runIntegrationTests = flag.Bool("integration", false , "Run the integration tests (in addition to the unit tests)")
Bendera ini boleh digunakan untuk melangkau ujian penyepaduan semasa menjalankan ujian go. Walau bagaimanapun, ia memerlukan penambahan pernyataan if secara manual pada permulaan setiap ujian penyepaduan:
if !*runIntegrationTests { this.T().Skip("To run this test, use: go test -integration") }
Penyelesaian Alternatif:
Pilihan lain yang dicadangkan oleh @Ainar-G ialah untuk menggunakan teg binaan untuk memilih ujian yang hendak dijalankan:
// +build integration // ... Integration test code ...
Pendekatan ini membolehkan anda memanggil ujian pergi -tags=integrasi untuk menjalankan ujian integrasi secara khusus. Begitu juga, anda boleh menentukan // bina !unit kepada lalai untuk menjalankan ujian integrasi dan melumpuhkannya dengan go test -tags=unit.
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengasingkan Unit dan Ujian Penyepaduan dengan Berkesan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!