在“全部测试”中如何处理预期的+不相关的故障?

时间:2019-02-11 21:34:05

标签: go

我正在使用NPM使用go 1.11模块管理go软件包的构建/测试/版本生命周期。在发布之前,我想检查“一切”,包括模块,因此我运行:go test all(在所有包含的模块中运行测试)。

问题是,在某些Mac版本/环境(包括我的Mac)中,go 1.11.5中的标准os软件包(至少)失败了。就我的目的而言,这是可以的并且无关紧要的,因为失败是我不使用的功能。但是,这导致发布过程失败,因为go test以非零状态退出。

关于如何处理此问题的任何建议?

如果有一种方法可以对本地测试(go test all -relevant)的调用树中的函数运行所有测试,那就太好了。或者,如果我可以命名并跳过测试,那也可以。

我知道-run标志,但这似乎无济于事,因为我无法事先知道要运行什么测试,以及{{1}所使用的正则表达式}}不支持否定先行,因此构造正则表达式以排除某些测试会非常繁琐。

-run测试失败:

os

1 个答案:

答案 0 :(得分:1)

您可以使用build constraints选择由OS,体系结构或构建标记运行的测试。对于那些特定于操作系统的功能,只需进行特定于操作系统的测试即可。不应有“预期的失败”之类的东西,这些只是被错误应用的测试。