docker 单元测试设置

2024-03-16

我想为我的产品设置一个单元测试环境。我有一个基于 Lua 中的 nginx 构建的 Web 应用程序,它使用 mysql 和 redis。我认为 docker 会对此很有帮助,尽管我是 docker 的新手。我的应用程序运行在 centos 服务器(生产服务器)上。

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


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

我们正在使用 dockerizedGitLab https://github.com/sameersbn/docker-gitlab安装与定制跑步者 https://github.com/schmunk42/docker-gitlab-runner,它能够执行docker-compose.

笔记!运行器本身在单独的 Docker 主机上运行。

我们正在使用docker-compose.yml定义services https://github.com/phundament/app/blob/4.0.0-rc15/docker-compose.yml在堆栈中进行调整发展 https://github.com/phundament/app/blob/4.0.0-rc15/docker-compose.override-dist.yml and testing https://github.com/phundament/app/blob/4.0.0-rc15/build/compose/test.override.yml.

The CI配置 https://github.com/phundament/app/blob/4.0.0-rc15/.gitlab-ci.yml经过优化以处理隔离堆栈的多个并发测试,这只需通过指定自定义即可完成COMPOSE_PROJECT_NAME.

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

  • #测试自述文件 https://github.com/phundament/app/tree/4.0.0-rc15#testing
  • #测试文档 https://github.com/phundament/docs/blob/master/4-testing/testing.md
  • CI 构建 https://git.hrzg.de/phundament/app/builds?scope=all
  • 扩展服务和撰写文件 https://docs.docker.com/compose/extends/
  • 用于 CI 的 Docker-in-Docker? https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/

最后,特拉维斯·西尔 https://docs.travis-ci.com/user/docker/一段时间以来也支持 Docker,但我根本没有测试过这种方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker 单元测试设置 的相关文章

随机推荐