gpt4 book ai didi

unit-testing - 如何在不同的包中测试未导出的结构字段?

转载 作者:数据小太阳 更新时间:2023-10-29 03:32:37 24 4
gpt4 key购买 nike

我有一个用工厂创建对象的包。结构具有未导出的字段,例如:

package fetcher
type GitFetcher struct {
uri string
}

我有另一个包,它解析一些配置文件,然后构建另一个使用上述对象的对象:

package config
type Source struct {
fetcher GitFetcher
}

我正在尝试测试我的config 包。我想构建一些预期的对象,但由于我的测试在 config 中,而我的 GitFetcherfetcher 中,我不能只创建对象我想要,例如:

package config
expected := GitFetcher{
uri: "example.com/repo.git" // doesn't work. Field isn't exported.
}

如何跨包构建对象以进行这样的测试?我不想使用 fetcher 工厂方法,因为它采用的参数并不简单。

最佳答案

How to test unexported [...] a different package in go?

完全没有。不可撤销,请勿尝试。

(如果未导出的东西有导出的方法,那么你可以调用这个方法。)

关于unit-testing - 如何在不同的包中测试未导出的结构字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51930928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com