go 1.18 几天前发布了。从 Go 1.18 开始,它在其标准工具链中支持模糊测试
但是当我试图写我的案例时,它不能在一个包(或一个文件?)中运行多个案例。代码:
package xxx
func FuzzReverse(f *testing.F) {
testcases := []string{"Hello, world", " ", "!12345"}
for _, tc := range testcases {
f.Add(tc) // Use f.Add to provide a seed corpus
}
f.Fuzz(func(t *testing.T, orig string) {
Reverse(orig)
})
}
func FuzzReverse2(f *testing.F) {
testcases := []string{"Hello, world", " ", "!12345"}
for _, tc := range testcases {
f.Add(tc) // Use f.Add to provide a seed corpus
}
f.Fuzz(func(t *testing.T, orig string) {
Reverse(orig)
})
}
然后我运行命令:
go test -fuzz .
或者
go test -fuzz=Fuzz
但结果是:
testing: will not fuzz, -fuzz matches more than one fuzz test: [FuzzReverse FuzzReverse2]
像这样:
本教程没有提示,感谢帮助。(我在 stackoverflow 中的第一个问题,非常感谢!!!!)
我尝试在一个源文件中编写多个模糊案例,然后运行 cmd: go test -fuzz 。期望它可以进行模糊测试,但出现错误:\
测试:不会进行模糊测试,-fuzz 匹配多个模糊测试:[FuzzReverse FuzzReverse2]
千万里不及你
哆啦的时光机
相关分类