Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk meningkatkan ujian dan liputan fungsi golang?
Bagaimana untuk meningkatkan liputan ujian fungsi Golang? Ukur liputan: Gunakan arahan go test -cover. Tambah pengecualian kes ujian: Tambah pengecualian kes ujian untuk laluan kod yang tidak dilaksanakan. Menggunakan profil liputan: Gunakan go test -coverprofile=cover.out untuk membuat profil liputan. Gunakan alat penutup: Gunakan penutup alat go -html=cover.out untuk melihat laporan liputan terperinci.
Cara meningkatkan liputan ujian fungsi Golang
Pengenalan
Menguji langkah liputan bahagian mana aplikasi dilaksanakan dalam ujian. Liputan tinggi menunjukkan bahawa majoriti laluan kod dalam aplikasi telah dilaksanakan semasa ujian, dengan itu meningkatkan keyakinan terhadap kebolehpercayaan perisian. Artikel ini akan membimbing anda tentang cara meningkatkan liputan ujian fungsi Golang anda.
Ukur liputan
Untuk mengukur liputan, anda boleh menggunakan perintah go test -cover
. Perintah ini akan mencetak laporan liputan selepas ujian dijalankan. go test -cover
命令。该命令将在测试运行后打印覆盖率报告。
go test -cover
实用案例
考虑以下 Golang 函数:
func Sum(a, b int) int { return a + b }
初始测试覆盖率报告如下:
coverage: 50.0% of statements
该覆盖率表明只有 50% 的代码在测试中得到了执行。要提高覆盖率,需要添加测试用例外界因素,以执行未执行的代码路径。
添加测试用例外界因素
对于 Sum
函数,可以添加如下测试用例外界因素,以覆盖未执行的代码路径:
func TestSumNegative(t *testing.T) { result := Sum(-1, -2) if result != -3 { t.Errorf("Expected -3, got %d", result) } }
这个测试用例外界因素测试了函数是否处理负数输入。添加此测试用例外界因素后,覆盖率报告将如下所示:
coverage: 100.0% of statements
使用覆盖率配置文件
为了更容易地跟踪与覆盖率相关的更改,可以使用覆盖率配置文件。覆盖率配置文件包含了覆盖率数据,可用于在不同的测试运行之间进行比较。要创建覆盖率配置文件,请使用 go test -coverprofile=cover.out
命令。
go test -coverprofile=cover.out
使用 cover
工具
cover
工具是一个交互式工具,使您可以浏览代码覆盖率信息。要使用 cover
go tool cover -html=cover.out
Kes Praktikal
Pertimbangkan fungsi Golang berikut: rrreee
Laporan liputan ujian awal adalah seperti berikut:rrreee
Liputan ini menunjukkan bahawa hanya 50% kod telah dilaksanakan dalam ujian. Untuk meningkatkan liputan, pengecualian kes ujian perlu ditambah untuk melaksanakan laluan kod yang tidak dilaksanakan. 🎜🎜🎜Tambah pengecualian kes ujian🎜🎜🎜Untuk fungsiSum
, anda boleh menambah pengecualian kes ujian berikut untuk menutup laluan kod yang tidak dilaksanakan: 🎜rrreee🎜Pengecualian kes ujian ini menguji sama ada fungsi tersebut Mengendalikan negatif input. Selepas menambah pengecualian kes ujian ini, laporan liputan akan kelihatan seperti ini: 🎜rrreee🎜🎜Menggunakan Profil Liputan🎜🎜🎜Untuk menjejaki perubahan berkaitan liputan dengan lebih mudah, anda boleh menggunakan profil liputan. Profil liputan mengandungi data liputan yang boleh digunakan untuk perbandingan antara larian ujian yang berbeza. Untuk membuat profil liputan, gunakan perintah go test -coverprofile=cover.out
. 🎜rrreee🎜🎜Gunakan alat cover
🎜🎜🎜 Alat cover
ialah alat interaktif yang membolehkan anda menyemak imbas maklumat liputan kod. Untuk menggunakan alat cover
, jalankan arahan berikut: 🎜rrreee🎜Ini akan membuka laporan HTML dalam penyemak imbas lalai anda yang menunjukkan data liputan terperinci untuk setiap fungsi dan kaedah. 🎜🎜🎜Ringkasan🎜🎜🎜Dengan menambahkan pengecualian kes ujian dan menggunakan profil liputan, anda boleh meningkatkan liputan ujian fungsi Golang anda. Liputan tinggi meningkatkan keyakinan terhadap kebolehpercayaan perisian dan membantu mengenal pasti kawasan yang belum diuji dalam kod. 🎜Atas ialah kandungan terperinci Bagaimana untuk meningkatkan ujian dan liputan fungsi golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!