unit-testing - docker单元测试设置

标签 unit-testing lua docker openresty

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

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

最佳答案

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

我们使用的是 dockerized GitLab使用 customized runner 安装, 可以执行 docker-compose.

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

我们使用 docker-compose.yml 来定义 services在带有 development 调整的堆栈中和 testing .

CI configuration已针对处理隔离堆栈的多个并发测试进行了优化,这只需通过指定自定义 COMPOSE_PROJECT_NAME 来完成。

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

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

关于unit-testing - docker单元测试设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34434579/

相关文章:

unit-testing - 使用嵌入式容器测试 EJB 3.1 应用程序

opengl - 具有养育问题的骨骼动画

sorting - table.sort 使用什么算法?

docker - Nginx位置/日志未正确传递给Kibana,导致404

docker - 为什么 Composer create-project for Drupal 在 WSL2 中失败?

c# - Moq'ing 多次引发事件

unit-testing - 注入(inject)没有java接口(interface)的模拟对象进行单元测试

ios - 如何测试项目中的私有(private)或文件私有(private)函数

http - 我的 GET 请求有什么问题?

docker - 从 docker-compose 替换 NGINX 配置中的环境变量