Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk melaksanakan ujian liputan kod dalam ujian fungsi Golang?
Jawapan: Langkah-langkah untuk melaksanakan ujian liputan kod dalam ujian fungsi Golang adalah seperti berikut: Langkah: Pasang pakej liputan: pergi dapatkan golang.org/x/tools/cmd/cover. Import pakej liputan dan tetapkan mod liputan. Tentukan fungsi yang diuji. Gunakan arahan liputan untuk menjalankan fail ujian. Lihat laporan liputan dalam fail coverage.out.
Panduan Golang untuk Melaksanakan Ujian Liputan Kod dalam Pengujian Fungsi
Pengujian liputan kod ialah ukuran sejauh mana kod telah diuji. Dalam ujian fungsi Golang, kami boleh menggunakan pakej liputan untuk melaksanakan ujian liputan kod bagi memastikan fungsi tersebut diuji sepenuhnya.
Pasang pakej liputan
go get golang.org/x/tools/cmd/cover
Gunakan pakej liputan
Dalam fail ujian (seperti func_test.go
), import pakej liputan dan tetapkannya kepada mod liputan: func_test.go
)中,导入覆盖率包并将其设置为覆盖模式:
package main import ( "testing" "fmt" "os" "golang.org/x/tools/cover" ) func TestFunction(t *testing.T) { // 设置覆盖模式,3 表示输出详细报告 cover.ProfileMode = cover.ProfileMode{Mode: cover.ProfileMode.Count, CoverOptions: []string{"-detail=3"}} }
定义函数
在被测文件中(如 func.go
)中,定义要测试的函数:
package main func Calculate(a, b int) int { return a + b }
运行测试
使用覆盖率命令运行测试文件:
cover -func func_test.go
查看覆盖率报告
测试完成后,将在当前目录下生成 coverage.out 文件,包含详细的覆盖率报告。
实战案例
下面是一个实战案例,展示了如何在 Golang 函数测试中实现代码覆盖率测试:
package main import ( "testing" "os" "golang.org/x/tools/cover" ) func TestCalculate(t *testing.T) { // 设置覆盖模式 cover.ProfileMode = cover.ProfileMode{Mode: cover.ProfileMode.Count, CoverOptions: []string{"-detail=3"}} // 执行被测函数 Calculate(1, 2) } func Calculate(a, b int) int { return a + b } func main() { // 运行测试文件 cover.CoverProfile("coverage.out") // 输出覆盖率报告 fmt.Println(string(cover.Profile())) }
备注:
cover
命令之前没有其他程序运行,因为这可能影响覆盖率结果。-atomic
、-lines
、-statements
rrreeefunc.go
), tentukan fungsi yang akan diuji: 🎜rrreee🎜🎜Jalankan ujian🎜🎜🎜Gunakan arahan liputan untuk jalankan fail ujian :🎜rrreee🎜🎜Lihat laporan liputan🎜🎜🎜Selepas ujian selesai, fail coverage.out akan dijana dalam direktori semasa, yang mengandungi laporan liputan terperinci. 🎜🎜🎜Kes praktikal🎜🎜🎜Berikut ialah kes praktikal yang menunjukkan cara melaksanakan ujian liputan kod dalam ujian fungsi Golang: 🎜rrreee🎜🎜Nota: 🎜🎜cover
Tiada program lain dijalankan sebelum arahan kerana ini boleh menjejaskan hasil liputan. 🎜🎜Anda boleh mengawal tahap terperinci laporan liputan dengan menetapkan pilihan liputan yang berbeza, seperti Atas ialah kandungan terperinci Bagaimana untuk melaksanakan ujian liputan kod dalam ujian fungsi Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!