我对为Go中的"未导出(私有)函数"创建单元测试很感兴趣.然而,基本上很难在测试包中从它们创建单元测试,因为我必须将它们"公开".最终,这让他们成为私有的观点不攻自破.重点是这些帮助器函数帮助模块化,现在它们是模块化的,如果能够为它们创建单元测试,而不使它们对除测试包之外的所有人都可用,那就太好了,很好,它们不是除了测试套件或实际包本身之外的任何人都应该访问或使用的函数.
有什么建议吗?有没有可能在GO中only个出口到自己的包和1个额外的包或类似的东西?
我对为Go中的"未导出(私有)函数"创建单元测试很感兴趣.然而,基本上很难在测试包中从它们创建单元测试,因为我必须将它们"公开".最终,这让他们成为私有的观点不攻自破.重点是这些帮助器函数帮助模块化,现在它们是模块化的,如果能够为它们创建单元测试,而不使它们对除测试包之外的所有人都可用,那就太好了,很好,它们不是除了测试套件或实际包本身之外的任何人都应该访问或使用的函数.
有什么建议吗?有没有可能在GO中only个出口到自己的包和1个额外的包或类似的东西?
在包中创建一个测试文件
library_test.go
package mypkg
func TestPrivateStruct(t *testing.T){
pf := private{ "Private Field" }
....
}
图书馆go
package mypkg
type private struct {
privateField string
}
go test mypkg -v
将使用您的私有 struct 运行测试