Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk berkongsi kaedah persediaan dan teardown merentas pakej semasa menguji Go?

Bagaimana untuk berkongsi kaedah persediaan dan teardown merentas pakej semasa menguji Go?

王林
王林ke hadapan
2024-02-15 09:50:071044semak imbas

在测试 Go 时如何跨包共享设置和拆卸方法?

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.

Isi soalan

Andaikan saya ada dua pakej foobar. 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?

Penyelesaian

Masukkan ke dalam foobar 在测试中导入的另一个包 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!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam