go - 第一次 golang 测试运行很慢
问题描述
我正在运行一个非常简单的测试,将两个数字相加。
package internal
import "testing"
func TestAddingNumbers(t *testing.T) {
if add(1, 5) != 6 {
t.Errorf("Failed Adding numbers")
}
}
首次
go test -v file.go file_test.go
运行 => ok command-line-arguments 0.434s
虽然第二次
go test -v file.go file_test.go
运行 => ok command-line-arguments 0.099s
有没有办法让第一次测试更快?我的理解是发生了一些缓存,所以第二个更快。但是在 CI 步骤的上下文中,缓存不会存在,它会使事情变慢。
解决方案
你不能让第一个运行得更快,因为那是测试真正运行的唯一时间。第二次运行只是使用测试缓存,而不运行测试。
但是,您可以通过禁用测试缓存使测试运行使用相似的时间。惯用的方法是使用标志:
go test -count=1
推荐阅读
- compilation - google colab 中是否预装了 PGI 编译器?
- python - 将 dnspython dns.resolver.Answer 对象转换为原始字节回复
- git - 从我刚刚在 Jenkins 工作中推送的提交中获取更改 ID?
- javascript - 渲染函数中的 Vue.js 类型的 createElement
- python - 如果列表具有相同的字符串但顺序不同,如何在 Python 中使列表相等?
- javascript - 未捕获的类型错误:$(...).find(...).not(...).size 不是函数
- macos - 用于从登录窗口切换用户的 Apple 脚本
- r - 在 geom_text 中指定标签的位置
- authentication - Strapi / Nuxt - 找不到自定义路线
- bash - 我对 bash (macOS) 中的“sed”语句有疑问