基本上,我在一个特定的包中创建了一个新的测试文件,其中包含一些基本的测试结构 - 没有实际的测试......只是一个嵌入 suite.Suite 的空结构类型,以及一个接收 *testing.T 对象并调用套件的函数.Run() 在所述结构上。这立即导致我们所有其他测试开始不确定地失败。
故障的性质与在单个 Postgres 数据库中插入和删除时的数据库唯一密钥完整性违规有关。这让我相信测试是同时运行的,而没有调用我们的设置方法来在测试之间正确准备环境。
不用说,当我将这个测试文件移动到另一个包时,一切都神奇地起作用了!
以前有没有其他人遇到过这个问题并且可以提供一些见解?