单元测试 – docker unit测试设置

我想为我的产品设置一个单元测试环境.我在Lua的nginx上构建了一个使用mysql和redis的web应用程序.我认为虽然我是码头工人的新手,但码头工作人员会很好.我的应用程序在centos服务器(生产服务器)上运行.

我打算为mysql,redis和webapp设置不同的容器,然后在我的mac(我的开发机器是MAC)或VM中编写UT应用程序(使用Busted框架进行Lua的单元测试)来测试它. UT应用程序将与docker容器nginx通信,nginx将使用容器mysql和redis.这个好吗 ?如果是,有人可以指导我如何做到这一点?也许一些很好的链接?如果不是,那可能是更好的方法.我已经尝试过使用vagrant但是花了太多时间,这不应该是我的UT情况.

最佳答案
有关我们如何设置项目模板的示例,您可以查看phundament/app及其测试设置.

我们正在使用带有customized runner的dockerized GitLab安装,它可以执行docker-compose.

Note! The runner itself is running on a separate Docker host.

我们使用docker-compose.yml在堆栈中定义services,并调整developmenttesting.

CI configuration经过优化,可以处理隔离堆栈的多个并发测试,这只需通过指定自定义COMPOSE_PROJECT_NAME即可完成.

有关我们的测试过程的一些深入文档以及有关docker-compose和dockerized CI的有用信息.

> #testing README
> #testing Docs
> CI builds
> Extending services and Compose files
> Docker-in-Docker for CI?

最后,Travis CI也支持Docker一段时间,但我还没有测试过这种方法.

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...