我们在HTTP服务器上有一个特殊的文本文件,其中包含在运行golang测试时要跳过的文件名和测试功能。
我必须构建一些东西来下载该测试文件,解析应跳过的文件名和测试功能,然后最终运行我们的go测试并正确跳过输入文件中的测试功能。
用golang进行这项工作的正确方法是什么?
(我意识到这听起来像是一种不寻常的跳过方法,但是我们确实想按照我所描述的那样进行这项工作,原因不在此问题的讨论范围之内。)
答案 0 :(得分:5)
您可以使用(* testing.T).Skip()函数跳过测试用例。您可以在go的测试文件的init函数中下载测试文件。然后解析并在映射或数组中加载函数名称。在运行每种情况之前,请检查测试用例是否包含在跳过列表中,并根据需要跳过。
// Psuedo code -> foo_test.go
var skipCases map[string]bool
func init() {
// download and parse test file.
// add test case names which needs skipped into skipCases map
}
func TestFoo(t *testing.T) {
if skipCases["TestFoo"] {
t.Skip()
}
// else continue testing
}