加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

在 Go 中运用 Dockertest 进行集成测试

发布时间:2021-12-11 23:11:48 所属栏目:语言 来源:互联网
导读:进行集成测试(或系统测试)通常意味着让数据库填充数据,像 redis、elasticsearch 等,通常,我们的软件与之交互的任何基础设施都可以工作。 最常见的方法是复制我们的生产基础设施,其实用容器来实现还是比较容易的,比如 docker 容器。 我们可以为需要复制
进行集成测试(或系统测试)通常意味着让数据库填充数据,像 redis、elasticsearch 等,通常,我们的软件与之交互的任何基础设施都可以工作。
 
最常见的方法是复制我们的生产基础设施,其实用容器来实现还是比较容易的,比如 docker 容器。
 
我们可以为需要复制的每个服务设置和运行一个容器,我们可以使用 docker-compose 对其进行编排并创建一些 makefile 或只是一个简单的脚本来准备基础设施并运行集成测试。
 
如果你的测试是独立的(它们应该是独立的),你必须找到在测试之间“重新启动”基础设施服务的方法,这可能很难通过分离的基础设施设置和测试来实现(基础设施是在脚本中设置的,而测试在 Go 文件中)
 
01 dockertest
如果你使用的是 Go,则可以使用 dockertest,一个可以管理和编排 Go 测试文件中的容器的库。
 
从 Go 文件管理测试基础设施容器,允许我们控制在每个测试中需要的服务(例如,某些包正在使用数据库而不是 Redis,为这个测试运行 Redis 没有意义)
 
安装 dockertest
 
要安装 dockertest,只需运行:
 
go get -u github.com/ory/dockertest/v3
使用 dockertest
 
使用 dockertest 设置基础设施的最简单方法是在测试文件的TestMain 函数中添加设置代码。
 
TestMain 是在包中运行测试之前调用的函数,更多信息参考这里。

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读