Go Test 中没有可以运行的测试:揭开罪魁祸首
尽管你努力编写了测试用例,但你可能会遇到令人费解的“没有测试”执行 go test 时运行”错误消息。这可能是一个令人困惑的问题,尤其是对于 Go 新手来说。
这个问题的出现是由于 Go 测试框架中的一个基本规则:测试函数必须遵循特定的命名约定。根据文档,测试函数必须遵循以下格式:
func TestXxx(t *testing.T) { ... }
其中 Xxx 不以小写字母开头。本质上,测试函数名称的首字母必须大写。
实际实现:
在您的例子中,测试函数是 testNormalizePhoneNum,它不符合这条规则。要解决此问题,只需将测试函数重命名为 TestNormalizePhoneNum 并重新运行 go test。
替代方法:
如果您不想更改函数的名称,可以强制通过使用 -run 指定名称来运行非常规测试函数的测试工具flag:
go test -run=testNormalizePhoneNum
结论:
遵守测试函数的命名约定对于成功的 go 测试体验至关重要。请记住以大写字母开头您的测试函数名称,这样您的测试就会顺利运行。
以上是为什么我的 Go 测试显示'没有要运行的测试”?的详细内容。更多信息请关注PHP中文网其他相关文章!