在导入的包中重用测试代码
管理复杂的代码库时,重用测试代码的能力对于高效且可维护的测试实践至关重要。本文探讨了开发人员面临的常见挑战:重用导入包中的测试代码。
考虑以下场景:项目具有以下目录结构:
/ |-- main.go |-- main_test.go |-- pkg1 |-- pkg1_test.go
main.go 导入pkg1 并包含依赖于 pkg1 中未导出函数的代码。 pkg1_test.go 包含一个实用函数 verifyTaskNumber,它调用 pkg1 中的内部函数。然而,main_test.go 需要在自己的测试中使用 verifyTaskNumber。
为了解决这个问题,提出了两种可能的解决方案:
这两种解决方案都没有提供无缝且高效的方法来重用测试代码。另一种解决方案是将 verifyTaskNumber 移至在 main_test.go 和 pkg1_test.go 中导入的 utils 包。为了解决对 pkg1 中未导出函数的依赖,可以将内部函数的结果保存到支持文件中并由 utils 包加载。这避免了对未导出函数的依赖,同时提供对多个测试包中的测试实用程序的访问。
以上是如何在 Go 中重用导入包的测试代码?的详细内容。更多信息请关注PHP中文网其他相关文章!