现在 go 更新功能代码并不更新测试代码是不是也会更新缓存了?
Go 为了提高测试的性能,会对包的编译后的测试代码进行缓存。
《G01 Go 实战:Web 入门》
代码:
// math.go
package main
func Add(a, b int) int {
return a + b
}
// math_test.go
package main
import "testing"
func TestAdd(t *testing.T) {
result := Add(2, 3)
if result != 5 {
t.Errorf("Expected 5, got %d", result)
}
}
把 return a + b 改成 return a + b + 1 过不了测试。
命令 go test。
我问了一下 DeepSeek 这种不更新缓存是不是个缺陷。它说这个在 1.19 之后就修复了。
不知道是不是我搞错了什么,不敢确定。所以来问了一下。
推荐文章: