Unit testing 跨不同软件包共享数据';s测试文件
我有以下体系结构:Unit testing 跨不同软件包共享数据';s测试文件,unit-testing,go,testing,Unit Testing,Go,Testing,我有以下体系结构: - package-a - a.go - a_test.go - package-b - b.go - b_test.go - package-c - c.go - c_test.go 我想使用a_测试中初始化的数据。go在b_测试中。go,可以吗 例如: var FakeData = FakeData{ something... } 我已经做了自己的研究,看起来不可能在不同包的测试文件之间共享数据 首先:我的假设正确吗 S
- package-a
- a.go
- a_test.go
- package-b
- b.go
- b_test.go
- package-c
- c.go
- c_test.go
我想使用a_测试中初始化的数据。go
在b_测试中。go
,可以吗
例如:
var FakeData = FakeData{ something... }
我已经做了自己的研究,看起来不可能在不同包的测试文件之间共享数据
首先:我的假设正确吗 Second:你知道有什么文件可以证明这一事实吗
我看过了,但什么也没找到 谢谢 我想使用在a_test.go中初始化的数据进入b_test.go,是否可能 不,这是不可能的 我的假设[不可能在不同包的测试文件之间共享数据]正确吗 对 你知道有什么文件可以证明这一事实吗 对。这就是测试的工作原理。运行
go test
将包括来自被测包的_test.go文件,并生成一个合成的主包,该主包可以被编译并链接到一个可执行文件,然后执行。该测试二进制文件中不包含任何其他_test.go文件。没有任何文档可以解释这一“没有其他!”事实,但这是“仅来自当前数据库的测试文件”中隐含的
提供一个“真实”的包(可能是内部包),从非-u test.go文件中提供此测试数据。确实有帮助,谢谢:)