Résumé : La boîte à outils de test go améliore la robustesse du code Go. Il inclut les fonctionnalités suivantes : Exécuter des tests via la commande go test. Écrivez des fonctions de test en utilisant le format func TestName(t *testing.T). Utilisez des fonctions d'assertion telles que t.Equal(), t.NotEqual(), t.True(), t.False() pour vérifier les résultats des tests. Recherchez les bogues et améliorez la robustesse du code en exécutant go test.
Introduction
Dans le langage Go, go test
contient un ensemble d'outils puissants qui peuvent être utilisés pour tester le code afin de garantir sa robustesse. Cet article approfondira go test
et démontrera son utilisation dans des cas pratiques. 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
: 🎜rrreee🎜🎜Utilisation de base🎜🎜🎜go test
est utilisé pour tester des packages de code ou des fonctions. Pour exécuter des tests, exécutez la commande suivante dans le répertoire contenant les fichiers de test : 🎜rrreee🎜 Cette commande exécutera tous les tests dans les fichiers se terminant par _test.go
. 🎜🎜🎜Écriture de tests🎜🎜🎜Les fonctions de test Go suivent un format spécifique : 🎜rrreee🎜où : 🎜TestName
est le nom de la fonction de testt
est le type testing.T
, utilisé pour enregistrer des informations dans le journal de test et affirmer si le test a réussitesting
fournit une variété de fonctions d'assertion, comme suit : 🎜t.Equal(a, b)
: Assert a et <code>b
sont égaux
t.NotEqual(a, b)
: affirmez a
et b
Différent det.True(x)
: affirmer que x
est vrait . False(x)
: Affirmer que x
est fauxgo test
, vous pouvez facilement écrire et exécuter des tests pour détecter des défauts à un stade précoce, améliorer la robustesse du code. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!