大佬教程收集整理的这篇文章主要介绍了单元测试 – 在Golang中测试的正确包命名,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
策略1:
package MyFunc
测试文件名:github.com/user/MyFunc_test.go
package MyFunc
参见bzip2为例。
策略2:
package MyFunc
测试文件名:github.com/user/MyFunc_test.go
package MyFunc_test import ( "github.com/user/MyFunc" )
参见wire为例。
策略3:
package MyFunc
测试文件名:github.com/user/MyFunc_test.go
package MyFunc_test import ( . "MyFunc" )
参见strings为例。
Go标准库似乎使用策略1和2的混合。@R_112_10675@用哪三个?这是一个疼痛附加包* _test到我的测试包,因为它意味着我不能测试我的包私有方法,但也许有一个隐藏的优势,我不知道?
在项目中使用这两种方法没有什么不妥。例如,你可以有MyFunc_whiteBox_test.go和Myfunx_blackBox_test.go。
测试代码包比较
>黑盒测试:使用包MyFunc_test,这将确保你只使用exported identifiers。
>白盒测试:使用包MyFunc,以便您可以访问非导出的标识符。适用于需要访问非导出变量,函数和方法的单元测试。
问题中列出的策略的比较
>策略1:文件MyFunc_test.go使用package MyFunc – 在这种情况下,MyFunc_test.go中的测试代码将与MyFunc.go中测试的代码在同一个包中,在本示例中为MyFunc。
>策略2:文件MyFunc_test.go使用包MyFunc_test – 在这种情况下,MyFunc_test.go中的测试代码将被编译为一个单独的包,然后链接和运行与主测试二进制。 [源:test.go源代码中的58-59行]>策略3:文件MyFunc_test.go使用包MyFunc_test,但使用点符号导入MyFunc – 这是策略2的变体,但使用点符号导入MyFunc。
以上是大佬教程为你收集整理的单元测试 – 在Golang中测试的正确包命名全部内容,希望文章能够帮你解决单元测试 – 在Golang中测试的正确包命名所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。