Go 中测试的正确包命名
为 Go 代码编写测试时,有多种命名测试包的策略。根据所需的测试类型,每种策略都有不同的优点和缺点。
策略 1:使用相同的包名称
在此策略中,测试文件使用与正在测试的代码相同的包名称。这允许访问非导出标识符,使其适合需要此类访问的单元测试。但是,这可能会导致测试细节泄漏到包的公共 API 中。
策略 2:使用单独的包名称
这里,测试文件使用不同的包名称,通常带有“_test”后缀。这将测试代码与正在测试的代码分开,确保仅使用导出的标识符。它适合黑盒测试,重点是测试公共 API 的功能。
策略 3:使用带有点表示法的变体
此策略是与策略 2 类似,但测试文件使用点符号导入包,例如“.'myfunc'”。这允许访问非导出的标识符,但它使测试代码与被测试的代码分开。它适合白盒测试,同时保持关注点分离。
Go 标准库采用策略 1 和策略 2 的混合。使用哪种策略取决于测试的具体目的。白盒和黑盒测试都很有价值,分别需要访问非导出或导出的标识符。
以上是Go 测试的最佳包命名策略是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!