gpt4 book ai didi

go - 如何在基准函数中使用 "testing.Benchmark"

转载 作者:行者123 更新时间:2023-12-01 22:35:51 25 4
gpt4 key购买 nike

我的测试文件

func BenchmarkA(b *testing.B) {
res := testing.Benchmark(BenchB)
if res.N <= 25{
b.Fatalf("fail!")
}
func BenchB(b *testing.B) {
for i := 0; i <= b.N; i++{
url := "****"
contentType := "application/x-www-form-urlencoded"
data := strings.NewReader("****")
_, err := http.Post(url, contentType, data)
if err != nil {
b.Fatal("fail ")
}
}
}
当我运行时
go test -bench=./router_test.go
我得到一个
fatal error: all goroutines are asleep - deadlock!
如果我使用“package main”和“func main{}”,程序可以成功运行。
接下来我该怎么做? (原谅我糟糕的英语)

最佳答案

我觉得有一种方法不是特别好

func TestA(t *testing.T) {
res := testing.Benchmark(BenchB)
if res.N <= 25{
t.Fatalf("fail!")
}
基准测试->单元测试

关于go - 如何在基准函数中使用 "testing.Benchmark",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63257550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com