You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go执行go test提示no tests to run但已编写测试函数是什么原因

测试未运行的核心原因

Go 语言的go test工具对测试函数有严格的命名规则要求:

  • 测试函数必须以**大写Test**作为名称前缀,后缀通常为要测试的业务函数名
  • 函数必须接收唯一的*testing.T类型参数
  • 函数不能有返回值

你当前的测试函数命名为testNormalizePhoneNum,首字母为小写t,不符合测试函数的命名规则,因此go test不会将其识别为需要执行的测试用例,就会输出no tests to run的警告。

修复方案

仅需要将测试函数名的首字母改为大写即可,修改后的函数定义如下:

func TestNormalizePhoneNum(t *testing.T) {
    // 原有测试逻辑不需要改动
}

修改后重新执行go test命令,即可正常运行所有测试用例。因为你当前normalizePhoneNum函数固定返回空字符串,执行后会抛出所有测试用例不匹配的报错,属于正常现象,完善normalizePhoneNum的实现逻辑即可修复测试报错。

内容的提问来源于stack exchange,提问作者Sherlock

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:15:02