Perkongsian kaedah persediaan dan teardown merentas pakej adalah masalah biasa semasa menguji Go. Editor PHP Yuzai akan menjawab soalan ini untuk anda. Dalam bahasa Go, anda boleh menggunakan pakej `flag` untuk menetapkan dan mendapatkan parameter baris arahan. Dengan menggunakan fungsi `flag.Parse()` dalam fail ujian, parameter baris arahan boleh dihuraikan dan ditetapkan ke dalam pembolehubah yang sepadan. Untuk senario ujian yang memerlukan tetapan dikongsi, pembolehubah global boleh ditetapkan dalam fail ujian dan digunakan dalam setiap fungsi ujian. Apabila ujian selesai, anda boleh membukanya dalam fungsi `TestMain` dan memulihkan keadaan tetapan asal. Ini membolehkan kaedah persediaan dan teardown dikongsi merentas pakej.
Andaikan saya ada dua pakej foo
和 bar
. Setiap pakej mempunyai fail dan fail ujian:
foo ---widget.go ---widget_test.go bar ---wingding.go ---wingding_test.go
Sekarang untuk dua ujian ini (widget_test.go dan wingding_test.go) saya ingin berkongsi beberapa kod persediaan. Saya tahu saya boleh meletakkan kod ini ke dalam setiap pakej di dalam main_test.go. Tetapi saya jelas tidak mahu menyalin / menampal kod di dua tempat. Jadi di manakah saya boleh meletakkan kod ini supaya ia boleh dikongsi antara pakej?
Masukkan ke dalam foo
和 bar
在测试中导入的另一个包 baz
pakej lain baz
yang diimport dalam ujian. Kami menggunakan ini untuk persediaan pangkalan data dan kod teardown dalam ujian kami.
Atas ialah kandungan terperinci Bagaimana untuk berkongsi kaedah persediaan dan teardown merentas pakej semasa menguji Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!