我对在 go 中为“未导出(私有(private))函数”创建单元测试很感兴趣。但是,基本上很难在测试包中创建单元测试,因为我必须将它们“公开”。最终,这违背了他们私密的全部意义。关键是这些辅助函数有助于模块化,现在它们是模块化的,如果能够为它们创建单元测试而不使除测试包之外的所有人都可以使用它们,那就太好了,它们不是应该访问的函数或由测试套件或实际包本身以外的任何其他人使用。
有什么建议吗?是否可以仅导出到自己的包和 1 个额外的包或类似的东西?
最佳答案
在包中创建一个测试文件
library_test.go
package mypkg
func TestPrivateStruct(t *testing.T){
pf := private{ "Private Field" }
....
}
library.go
package mypkg
type private struct {
privateField string
}
go test mypkg -v
将使用您的私有(private)结构运行您的测试
关于unit-testing - 如何在go(golang)中测试未导出的(私有(private))函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24622388/