首页 >后端开发 >Golang >如何在 Go 包中的测试文件之间有效共享辅助函数?

如何在 Go 包中的测试文件之间有效共享辅助函数?

Linda Hamilton
Linda Hamilton原创
2024-10-30 03:23:28978浏览

How can I effectively share helper functions across test files in a Go package?

Go 包中的共享测试代码放置

在包含多个源文件的 Go 包中,通常为每个源文件创建单独的测试文件源文件。但是,如果您的测试需要共享辅助函数,那么将这些函数包含在包源文件中或在每个测试文件中复制它们并不理想。

为了解决这个问题,Go 提供了一种便捷的方法:

同一测试包内的测试文件:

使用相同包子句的测试文件属于同一测试包。这意味着它们可以引用彼此的标识符(导出的和未导出的),无需显式导入语句。

用法:

  1. 选择任一测试文件.
  2. 创建一个包含共享代码的命名函数,例如 util()。
  3. 从其他测试文件中,只需按名称调用此函数即可。

示例:

考虑一个名为“a”的包,其中包含以下文件:

a/
    a.go
    b.go
    a_test.go
    b_test.go

如果 a_test.go 包含辅助函数 util(),则b_test.go 无需任何导入即可访问它。

其他注意事项:

  • 您可以将多个测试函数组合到一个 _test.go 文件中,无论源文件的数量。
  • 请记住,测试文件仅在同一测试包中共享可见性。不同的测试包将无法访问彼此的标识符。

以上是如何在 Go 包中的测试文件之间有效共享辅助函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn