如何使用go test -run命令指定特定包的目标测试用例
解决Go测试指定不同包下特定用例的问题
Go的go test命令的-run参数仅匹配测试用例的名称,无法直接通过包路径区分同名测试用例,所以没办法用单个go test命令实现你想要的foo/bar::TestFoo+foo/baz::TestBaz的组合执行,但可以通过以下方式达成需求:
分两次执行命令:针对每个包单独指定要运行的测试用例
go test -run TestFoo foo/bar go test -run TestBaz foo/baz用Shell组合命令:把两个命令合并成一行一次性执行
go test -run TestFoo foo/bar && go test -run TestBaz foo/baz
如果需要频繁执行这类组合测试,也可以编写简单的Shell脚本批量处理,但核心逻辑都是针对每个包单独指定测试用例名称——因为-run的正则规则只作用于测试名,不关联包路径信息。
内容的提问来源于stack exchange,提问作者praxis330
相关产品推荐
相关产品推荐

