go test坑

项目目录大概是这个样子:

project/
    dir_a
        dir_d
    dir_b
    dir_c

dir_a b c d 每个包都写了测试,并且每个包都有TestMain(m *testing.M)
dir_d目录加一个fail 的测试
在project根目录运行go test ./...结果显示全过
cd 到dir_d目录跑go test结果不过

共 3 个回复


zykzhang

出现这个问题的原因是dir_a dir_d都有TestMain(m *testing.M)

# 0

stevewang

为什么不go test project/dir_a/dir_d?

# 1

wolfxiaozhai

当含有多个_test.go文件时,若想单独测试某个文件如A_test,go test -v A_test.go 入口文件( 包含test 文件中函数定义)

# 2