Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Kami Boleh Menguji Fungsi Go Bergantung pada Pemalar?
Mentakrifkan Semula Pemalar dalam Go untuk Pengujian
Garis Isu:
Dalam Go, pemalar memberikan nilai tidak berubah yang tidak boleh diubah selepas pengisytiharan. Walau bagaimanapun, apabila menguji kod yang bergantung pada pemalar ini, ia menjadi mencabar untuk menyuntik nilai yang berbeza untuk tujuan ujian.
Penyelesaian Cadangan:
Penyelesaian yang berpotensi terletak pada pemfaktoran semula kod untuk disertakan fungsi kedua yang mengambil URL asas sebagai parameter dan memanggil fungsi asal dengan nilai malar sebagai argumen.
Butiran Pelaksanaan:
Perkenalkan Fungsi Pembantu:
Ganti baseUrl_ tetap dengan fungsi yang menerima URL asas sebagai hujah:
<code class="go">func myFuncImpl(baseUrl string) string { // Use `baseUrl` in the function }</code>
Ubah suai Fungsi Asal:
Ada fungsi asal (MyFunc()) panggil fungsi pembantu:
<code class="go">func MyFunc() string { return myFuncImpl(baseUrl_) }</code>
Kekalkan Pemalar:
Faedah:
Contoh:
<code class="go">const baseUrl_ = "http://google.com" func MyFunc() string { return myFuncImpl(baseUrl_) }</code>
Dalam kod ujian, myFuncImpl() boleh dipanggil terus dan diberikan nilai tersuai untuk baseUrl:
<code class="go">func TestMyFunc(t *testing.T) { result := myFuncImpl("http://example.org") // Assertions and tests }</code>
Atas ialah kandungan terperinci Bagaimanakah Kami Boleh Menguji Fungsi Go Bergantung pada Pemalar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!