Rumah >pembangunan bahagian belakang >Golang >Cara menguji dan nyahpepijat pelaksanaan fungsi golang tersuai
Ujian fungsi tersuai unit melibatkan mencipta fail ujian, mentakrifkan fungsi ujian, menulis kes ujian dan melaksanakan penegasan. Menyahpepijat ujian yang gagal melibatkan mendayakan maklumat penyahpepijatan, menggunakan penyahpepijat dan menetapkan titik putus.
Cara menguji dan nyahpepijat pelaksanaan fungsi Go tersuai
Dalam Go, menguji dan menyahpepijat fungsi tersuai adalah penting untuk memastikan ketepatan dan keteguhannya. Artikel ini akan memperkenalkan proses ujian unit dan menyahpepijat fungsi tersuai menggunakan rangka kerja ujian terbina dalam dan alat penyahpepijatan Go.
Ujian Unit
Langkah 1: Buat fail ujian
Untuk fungsi myfunc
yang anda ingin uji, buat fail ujian bernama myfunc_test.go
. myfunc
,创建一个名为 myfunc_test.go
的测试文件。
步骤 2:定义测试函数
在测试文件中,使用 func TestMyfunc
为要测试的函数定义一个测试函数。测试函数应以 Test
开头,后跟要测试的函数名。
步骤 3:编写测试用例
在测试函数中,使用 t.Run
为不同的测试用例添加嵌套测试函数。每个嵌套函数接收一个 testing.T 参数,它提供了用来报告错误和失败的断言方法。
步骤 4:执行断言
使用 testing
包中提供的断言函数(如 t.Equal
、t.Error
和 t.FailNow
)来验证测试用例的预期输出或行为。
实战案例:测试一个计算字符串长度的函数
func TestStrlen(t *testing.T) { t.Run("Empty string", func(t *testing.T) { t.Equal("", strLen("")) }) t.Run("Non-empty string", func(t *testing.T) { t.Equal(5, strLen("Hello")) }) }
调试
如果测试失败或函数运行不符合预期,则可以使用 Go 的调试工具进行调试。
步骤 1:开启调试模式
使用 -gcflags="all=-N -l"
Langkah 2: Tentukan fungsi ujian
Dalam fail ujian, gunakanfunc TestMyfunc
untuk menentukan fungsi ujian bagi fungsi yang ingin anda uji. Fungsi ujian hendaklah bermula dengan Ujian
diikuti dengan nama fungsi yang hendak diuji.
Langkah 3: Tulis kes ujian
Dalam fungsi ujian, gunakant.Run
untuk menambah fungsi ujian bersarang untuk kes ujian yang berbeza. Setiap fungsi bersarang menerima parameter testing.T, yang menyediakan kaedah penegasan untuk melaporkan ralat dan kegagalan.
Langkah 4: Lakukan penegasan
Gunakan fungsi penegasan yang disediakan dalam pakejtesting
(seperti t.Equal
, t.Error
dan t.FailNow
) untuk mengesahkan output atau tingkah laku yang dijangkakan bagi kes ujian.
Kes praktikal: Menguji fungsi yang mengira panjang rentetan
$ delve debug app (delve) b fibonacci # 设置断点 (delve) c # 继续执行 (delve) next # 单步执行 ... (delve) p fibonacci(5) # 检查变量值
Nyahpepijat
🎜🎜Jika ujian gagal atau fungsi tidak berjalan seperti yang diharapkan, anda boleh menggunakan alat nyahpepijat Go untuk nyahpepijat. 🎜🎜🎜Langkah 1: Dayakan mod nyahpepijat 🎜🎜🎜Kompilasi atur cara menggunakan bendera-gcflags="all=-N -l"
untuk mendayakan maklumat penyahpepijatan. 🎜🎜🎜Langkah 2: Menggunakan penyahpepijat🎜🎜🎜Mulakan penyahpepijat (seperti delve atau gdb) dan lampirkan pada program yang sedang berjalan. 🎜🎜🎜Langkah 3: Tetapkan titik putus dan periksa pembolehubah🎜🎜🎜Gunakan penyahpepijat untuk menetapkan titik putus dan periksa nilai pembolehubah semasa fungsi sedang dilaksanakan. 🎜🎜🎜Langkah 4: Masuk ke dalam kod 🎜🎜🎜Gunakan ciri satu langkah penyahpepijat untuk melangkah melalui baris demi baris kod dan periksa nilai pembolehubah selepas setiap langkah. 🎜🎜🎜Kes praktikal: nyahpepijat fungsi yang mengira jujukan Fibonacci 🎜🎜🎜Gunakan delve untuk nyahpepijat: 🎜rrreeeAtas ialah kandungan terperinci Cara menguji dan nyahpepijat pelaksanaan fungsi golang tersuai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!