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文件中提供此测试数据。

确实有帮助,谢谢:)