为了账号安全,请及时绑定邮箱和手机立即绑定

Go:使用数据库初始化从多个包运行测试

Go:使用数据库初始化从多个包运行测试

Go
眼眸繁星 2021-10-18 14:26:13
我有一个具有这种项目结构的 GO 项目(每个包中有多个此类文件)。- api    - userHandler.go    - userHandler_test.go- database    - user.go    - user_test.go在 user.go 中,我有 User 结构和创建/获取/更新用户的函数(我正在使用 GORM 但这不是问题)。在 user_test.go 中。我想为每个不同的文件清理数据库(删除所有数据或处于某种状态),所以我尝试为每个文件创建 1 个套件(使用 Testify),然后使用 SetupSuite 函数,但是行为似乎不是确定性的,可能我做错了什么。所以我的问题是:共享数据库连接的最佳方式是什么?使用全局变量是最好的选择吗?在每个 file_test.go 运行之前,在数据库中创建表一次然后用自定义数据初始化数据库的最佳方法是什么?现在我也有一个奇怪的错误:运行go test path/package1go test path/package2一切正常,但如果我运行(用于测试所有包)cd path && go test ./...我的错误似乎不是确定性的,这就是为什么我猜测数据库连接没有正确处理
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 215 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信