Abstrak: Kit alat ujian go meningkatkan keteguhan kod Go. Ia termasuk fungsi berikut: Jalankan ujian melalui arahan go test. Tulis fungsi ujian menggunakan format func TestName(t *testing.T). Gunakan fungsi penegasan seperti t.Equal(), t.NotEqual(), t.True(), t.False() untuk mengesahkan keputusan ujian. Cari pepijat dan tingkatkan keteguhan kod dengan menjalankan ujian go.
Pengenalan
Dalam bahasa Go, go test
mengandungi set alat berkuasa yang boleh digunakan untuk menguji kod untuk memastikan keteguhannya . Artikel ini akan menyelidiki go test
dan menunjukkan penggunaannya dalam kes praktikal. go test
包含了一套强大的工具,可用于测试代码,确保其稳健性。本文将深入探讨 go test
并在实战案例中展示其用法。
安装
通过命令行安装 go test
:
go install golang.org/x/tools/cmd/goimports
基本用法
go test
用于测试代码包或函数。要运行测试,请在包含测试文件的目录中运行以下命令:
go test
此命令将运行所有以 _test.go
结尾的文件中的测试。
编写测试
Go 测试函数遵循特定的格式:
func TestName(t *testing.T) { // 测试代码 }
其中:
TestName
是测试函数的名称t
是 testing.T
类型,用于向测试日志记录信息和断言测试是否通过断言
断言用于验证测试结果。testing
包中提供了多种断言函数,如下所示:
t.Equal(a, b)
:断言 a
和 b
相等t.NotEqual(a, b)
:断言 a
和 b
不相等t.True(x)
:断言 x
为真t.False(x)
:断言 x
为假实战案例
示例代码:
该代码用于检查一个字符串的长度是否大于 10 个字符。
package main import ( "testing" ) func checkLength(str string) bool { return len(str) > 10 } func TestCheckLength(t *testing.T) { tests := []struct { input string want bool }{ {"abcdefg", false}, {"abcdefghijklmno", true}, } for _, test := range tests { got := checkLength(test.input) if got != test.want { t.Errorf("checkLength(%q) = %v, want %v", test.input, got, test.want) } } } func main() { testing.Main() }
测试运行:
go test ./path/to/file_name_test.go
输出:
PASS ok ./path/to/file_name_test.go 0.002s
结论
通过使用 go test
go test
melalui baris arahan: 🎜rrreee🎜🎜Penggunaan asas🎜🎜🎜go test
digunakan untuk menguji pakej atau fungsi kod. Untuk menjalankan ujian, jalankan arahan berikut dalam direktori yang mengandungi fail ujian: 🎜rrreee🎜 Perintah ini akan menjalankan semua ujian dalam fail yang berakhir dengan _test.go
. 🎜🎜🎜Ujian penulisan🎜🎜🎜Fungsi ujian Go ikut format tertentu: 🎜rrreee🎜di mana: 🎜TestName
ialah nama fungsi ujiant
ialah jenis testing.T
, digunakan untuk merekod maklumat pada log ujian dan menegaskan sama ada ujian itu lulustesting
menyediakan pelbagai fungsi penegasan, seperti berikut: 🎜t.Equal(a, b)
: Assert a dan <code>b
adalah sama
t.NotEqual(a, b)
: Tegaskan a
dan b
Tidak samat.True(x)
: Tegaskan bahawa x
adalah benart . Salah(x)
: Tegaskan bahawa x
adalah palsugo test
, anda boleh dengan mudah menulis dan menjalankan ujian di peringkat awal meningkatkan keteguhan kod. 🎜Atas ialah kandungan terperinci go test membantu meningkatkan keteguhan kod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!