我想为我的产品设置单元测试环境。我在Lua的nginx上构建了一个使用mysql和redis的web应用程序。 我认为虽然我是码头工人的新手,但码头工作对此有好处。我的应用程序在centos服务器(生产服务器)上运行。
我打算为mysql,redis和webapp设置不同的容器,然后在我的mac(我的开发机器是MAC)或VM中编写UT应用程序(使用Busted框架进行Lua的单元测试)来测试它。 UT应用程序将与docker容器nginx对话,nginx将使用容器mysql和redis。这个好吗 ?如果是,有人可以指导我如何做到这一点?也许一些很好的链接?如果不是,那可能是更好的方法。我已经尝试过使用vagrant但是花了太多时间,这不应该是我的UT情况。
答案 0 :(得分:2)
有关我们如何设置项目模板的示例,您可以查看phundament/app
及其测试设置。
我们使用GitLab安装了customized runner,可以执行docker-compose
。
请注意!跑步者本身在一个单独的Docker主机上运行。
我们正在使用docker-compose.yml
来定义堆栈中的services,并调整development和testing。
CI configuration已经过优化,可以处理隔离堆栈的多个并发测试,只需指定自定义COMPOSE_PROJECT_NAME
即可。
有关我们的测试流程的一些深入文档以及有关docker-compose
和dockerized CI的有用信息。
最后,Travis CI也支持Docker一段时间,但我还没有测试过这种方法。
答案 1 :(得分:1)