Golang子目录测试
问题:是否可以创建一个组织有测试和示例的Go包在子目录中以保持清洁工作空间?
答案:是的。您可以使用 go test ./... 命令递归运行 Go 测试,列出所有要测试的包。
测试文件放置
子目录测试文件:
如果将 _test.go 文件放在子文件夹中,则 go test ./...命令将包含它们。但是,您必须为导出的变量和函数添加包名称前缀,以便能够在测试文件中进行访问。未导出的内容仍然无法访问。
同一目录测试文件:
尽管有子目录测试文件的选项,但将它们与主源文件放在一起仍然是更好的选择,因为这样更容易可访问性。
代码覆盖
使用 -cover 或 -coverprofile 进行代码覆盖:
集成测试覆盖率
从 Go 1.20 开始,覆盖率工具扩展到集成测试:
单独的包测试
根据kbolino,你可以将测试放在一个单独的包,不需要单独的目录。这允许测试文件命名为 foo_test 并驻留在与包 foo 相同的目录中,同时仍然限制对私有成员的访问。
以上是如何在子目录中组织 Go 测试和示例以获得更干净的工作空间?的详细内容。更多信息请关注PHP中文网其他相关文章!