自定义测试执行:跳过特定包
Go test 在选择测试包方面提供了灵活性。虽然单独为每个包运行 go test 是一个选项,但自定义执行以仅包含所需的包是一种更有效的方法。
测试特定子目录
在提供的中目录结构,您可以通过在命令行上显式列出其导入路径来测试特定子目录:
go test import/path/to/mypackage import/path/to/mypackage/other import/path/to/mypackage/net
或者,对于以公共前缀开头的包路径,可以使用大括号扩展:
go test import/path/to/mypackage{,/other,/net}
使用 go list 作为参数
你可以使用 go list 生成一个列表包作为 go test 的参数:
go test `go list`
跳过子目录
要排除像 mypackage/scripts 这样的子目录,请使用 grep 过滤掉不需要的路径:
go test `go list ./... | grep -v directoriesToSkip`
条件测试跳过
可以使用testing.Short()在测试本身中有条件地跳过长或昂贵的测试和 t.Skip()。这允许通过以下命令跳过特定测试:
go test -short import/path/to/mypackage/... (within mypackage directory) go test -short ./...
除了测试之外的自定义条件。Short() 还可以触发测试跳过,从而灵活地控制要执行的测试。
以上是如何自定义 Go 测试执行以包含或排除特定包和子目录?的详细内容。更多信息请关注PHP中文网其他相关文章!