Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Mengejek Kaedah http.Client Do untuk Pengujian dengan Berkesan?
Mengejek Kaedah http.Client Do
Dalam kod anda, anda cuba mengejek kaedah http.Client Do untuk tujuan ujian . Memandangkan antara muka HttpClient yang anda takrifkan hanya memerlukan fungsi yang sepadan dengan tandatangan Do, anda boleh menggunakan objek olok-olok untuk memenuhi keperluan ini.
Pertimbangkan untuk mencipta struktur ClientMock:
type ClientMock struct {}
Laksanakan Lakukan kaedah dalam struct olok-olok ini seperti berikut:
func (c *ClientMock) Do(req *http.Request) (*http.Response, error) { return &http.Response{}, nil }
ClientMock ini secara berkesan mensimulasikan Tingkah laku HttpClient dengan mengembalikan http.Response tiruan dan tiada ralat.
Untuk menggunakan objek olok-olok ini, masukkan contoh ClientMock ke dalam fungsi GetOverview anda sebagai parameter klien. Ini membolehkan anda mengawal respons HTTP yang dikembalikan oleh objek olok-olok, membolehkan anda mensimulasikan senario yang berbeza semasa ujian.
Satu pendekatan alternatif ialah menggunakan perpustakaan mengejek. Walau bagaimanapun, seperti yang anda nyatakan, banyak perpustakaan tidak menyediakan olok-olok untuk kaedah Do secara eksplisit. Anda boleh mempertimbangkan untuk membungkus http.Client dalam jenis tersuai dan memberikan olok-olok untuk jenis itu.
Akhirnya, pilihan strategi mengejek anda bergantung pada keperluan dan pilihan ujian khusus anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengejek Kaedah http.Client Do untuk Pengujian dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!