测试包的子集
Go 的测试框架在选择要测试的包时提供了灵活性。通过利用 go test 命令,用户可以指定单个包或利用 shell 命令来包含多个包。
跳过特定目录
要从测试中排除子目录,有几种方法可用:
-
单独包调用:单独运行每个要测试的包的 go test 命令,不包括要跳过的目录。
-
基于模式的调用: 将模式与 go test 命令一起使用以包含特定包,同时排除其他包。例如, go test import/path/to/mypackage import/path/to/mypackage/other import/path/to/mypackage/net 将测试三个指定的包。
-
条件跳过: 利用 shell 命令,例如 go list | grep -vdirectoriesToSkip 生成要测试的包列表,并排除任何标记为跳过的目录。
根据测试条件跳过:
测试时可能很耗时或不必要,可以使用testing.Short() 有条件地跳过它们t.Skip().
根据 -short 标志有条件地跳过:
- 运行 go test -short import/path/to/mypackage/... 或 go test -short ./... 在 mypackage 目录中。
- 指定测试本身中要触发的自定义条件跳过。
这种方法可以通过仅执行那些认为必要的测试来实现高效测试。
以上是如何选择性地测试 Go 包并跳过特定目录?的详细内容。更多信息请关注PHP中文网其他相关文章!