Go测试成功编译,但是go build无法编译

问题描述 投票:0回答:1

[我正在尝试在Windows中在go中测试主程序包,并且该测试似乎已被缓存,尽管我完全删除了缓存(go clean -cache)。

为了测试这一点,我更改了文件(parseinput.go),以便在编译期间产生错误(未定义的变量)。结果是,无法构建主包:

go\src\xxx\apimonitor> go build
# xxx/apimonitor
.\inputparser.go:15:2: undefined: err
.\inputparser.go:16:19: undefined: err

,但是测试仍然成功完成(go test甚至是go test -a):

go\src\xxx\apimonitor> go test
PASS
ok      xxx/apimonitor  0.786s

关于为什么这种情况持续发生以及为什么测试无法重新编译的任何线索?可以从以前的版本中缓存此软件包的其他任何地方吗?


更新

添加一些打印语句后,似乎测试(go test)编译成功] >> inputparser.go(尽管err变量未定义),但是构建失败(如上所述)。这就是让我相信测试已缓存的原因。

关于可能发生这种情况的任何线索/文档?

我正在尝试在go中测试主软件包(在Windows中),尽管我完全删除了缓存(执行clean -cache),但测试似乎已被缓存。为了测试这一点,我更改了一个文件(parseinput.go),以便...

windows go testing compilation
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.