繁体   English   中英

如何动态跳过golang中的测试?

[英]How do I dynamically skip tests in golang?

我们在HTTP服务器上有一个特殊的文本文件,其中包含在golang测试运行时要跳过的文件名和测试函数。

我必须构建一些东西来下载该测试文件,解析应该跳过的文件名和测试函数,然后最终运行我们的go测试并正确跳过输入文件中找到的测试函数。

用golang进行这项工作的正确方法是什么?

(我意识到这听起来像是一种不寻常的跳过方法,但是我们确实想按照我所描述的那样进行此工作,原因是出于与该问题无关的原因。)

您可以使用(* 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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM