码头单元测试设置

时间:2015-12-23 11:23:11

标签: unit-testing lua docker openresty

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

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

2 个答案:

答案 0 :(得分:2)

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

我们使用GitLab安装了customized runner,可以执行docker-compose

  

请注意!跑步者本身在一个单独的Docker主机上运行。

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

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

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

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

答案 1 :(得分:1)

如果您不熟悉基于Docker的CI,请查看Drone:

这个解决方案有一些缺点(比如图像的大小),但它会让你离开场地。