Kod Dikongsi untuk Ujian dalam Pakej Go
Dalam Go, mengatur kod ujian untuk pakej boleh menimbulkan persoalan tentang tempat meletakkan fungsi kongsi yang digunakan merentasi fail ujian.
Isu:
Satu pakej mengandungi berbilang fail, setiap satu dengan fail ujian yang sepadan. Kes ujian menggunakan fungsi pembantu biasa yang tidak sepatutnya berada dalam fail sumber pakej.
Penyelesaian:
Go membenarkan fail ujian berkongsi kod tanpa pernyataan import yang jelas. Hanya nyatakan fungsi yang dikongsi dalam mana-mana fail ujian, menjadikannya tersedia kepada fail ujian lain yang menggunakan klausa pakej yang sama.
Contohnya:
<code class="go">package foo_test import "testing" func setupHelper() {} // Shared helper function func Test1(t *testing.T) { setupHelper() } func Test2(t *testing.T) { setupHelper() }</code>
Sebagai alternatif, fail ujian boleh berkongsi kod tanpa membuat fail berasingan untuk setiap satu.
<code class="go">package foo import "testing" func Test1(t *testing.T) { // Shared code can go here } func Test2(t *testing.T) { // Shared code can also go here }</code>
Perhatikan bahawa fail ujian mungkin menggunakan klausa pakej yang sama atau yang berbeza, yang menjejaskan keterlihatan pengecam antara mereka.
Atas ialah kandungan terperinci Bagaimana untuk Berkongsi Kod Antara Fail Ujian dalam Pakej Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!