Dalam Go, ujian dan liputan adalah penting untuk mengekalkan kod yang stabil dan boleh dipercayai. Pengujian dilakukan dengan menulis fungsi yang bermula dengan Ujian dan mengandungi penegasan untuk mengesahkan output yang diharapkan bagi fungsi tersebut. Gunakan arahan go test semasa menjalankan ujian dan untuk mengukur liputan anda boleh menggunakan perintah go test -coverprofile=coverage.out untuk menjana profil liputan. Untuk melihat laporan liputan, gunakan perintah go tool cover -html=coverage.out, yang akan memaparkan dalam penyemak imbas baris kod yang tidak dilaksanakan.
Pengujian dan liputan fungsi Go
Dalam Go, ujian dan liputan adalah penting untuk mengekalkan kod yang stabil dan boleh dipercayai. Tutorial ini membimbing anda langkah demi langkah melalui penyediaan dan menjalankan ujian untuk fungsi Go anda.
Sediakan ujian
Mula-mula, buat fail yang berakhir dengan _test.go
dan letakkannya dalam direktori di mana fungsi yang anda ingin uji terletak. _test.go
结尾的文件,并将其放置在要测试的函数所在的目录中。
下一步,编写一个测试函数,该函数的名称以 Test
开头,后跟要测试的函数的名称。测试函数需要包含多个断言,以验证函数的预期输出。
package mypackage import ( "testing" ) func TestAdd(t *testing.T) { expected := 10 result := Add(5, 5) if result != expected { t.Errorf("Expected %d, got %d", expected, result) } }
运行测试
使用 go test
命令运行测试:
go test
测量覆盖率
覆盖率衡量代码中执行的代码行数量。要测量覆盖率,可以使用 -cover
标志:
go test -coverprofile=coverage.out
此命令将生成一个覆盖率配置文件,名为 coverage.out
。
查看覆盖率报告
可以使用 go tool cover
命令查看覆盖率报告:
go tool cover -html=coverage.out
这将在默认浏览器中打开一个覆盖率报告,显示哪些代码行未被执行。
实战案例
考虑一个计算数组中元素和的函数:
package mypackage func SumArray(arr []int) int { sum := 0 for _, v := range arr { sum += v } return sum }
测试案例
func TestSumArray(t *testing.T) { arr := []int{1, 2, 3, 4, 5} expected := 15 result := SumArray(arr) if result != expected { t.Errorf("Expected %d, got %d", expected, result) } }
运行测试和查看覆盖率
go test -coverprofile=coverage.out go tool cover -html=coverage.out
这将生成一个覆盖率报告,其中显示 SumArray
Ujian
diikuti dengan nama fungsi yang ingin anda uji. Fungsi ujian perlu mengandungi berbilang penegasan untuk mengesahkan output yang dijangkakan bagi fungsi tersebut. 🎜rrreee🎜🎜Jalankan ujian🎜🎜🎜Jalankan ujian menggunakan perintah go test
: 🎜rrreee🎜🎜Ukur liputan🎜🎜🎜Liputan mengukur bilangan baris kod. yang dilaksanakan dalam kod anda Untuk mengukur liputan, anda boleh menggunakan bendera -cover
: 🎜rrreee🎜Arahan ini akan menjana fail konfigurasi liputan bernama coverage.out
. 🎜🎜🎜Lihat laporan liputan🎜🎜🎜Anda boleh melihat laporan liputan menggunakan perintah go tool cover
: 🎜rrreee🎜Ini akan membuka laporan liputan dalam penyemak imbas lalai anda yang menunjukkan baris kod yang tidak dilaksanakan . 🎜🎜🎜Kes Praktikal🎜🎜🎜Pertimbangkan fungsi yang mengira jumlah elemen dalam tatasusunan: 🎜rrreee🎜🎜Kes Ujian🎜🎜rrreee🎜🎜Jalankan ujian dan lihat liputan🎜🎜🎜 ini akan menjana liputan menunjukkan SumArray fungsi telah dilaksanakan. 🎜Atas ialah kandungan terperinci Bagaimana untuk menguji dan menutup fungsi golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!