测试容器化微服务与外部依赖

时间:2017-06-07 13:38:56

标签: rest unit-testing docker microservices external-dependencies

所以我构建了一个REST API微服务,它查询本地Elasticsearch实例并根据内部协议转换结果。我把它构建成一个Docker镜像,我想在构建中对它运行一些单元测试。由于ES连接到私有Docker网络,在构建期间微服务无法访问它,因此测试显然会失败。我想知道,有没有办法解决这种情况,而不必使用一些复杂的测试框架来进行依赖注入?你如何在工作实践中测试这种容器?

1 个答案:

答案 0 :(得分:0)

我会在没有任何测试的情况下构建应用程序。然后我会使用docker run测试它,这样你就可以获得docker网络的优势。

粗略地说,这比构建过程中的测试更优雅:

  1. docker build -t my_app:1.0-early您的申请以获取图片。
  2. docker run --network my_test_network my_app:1.0-early /run_test_cases.sh。返回正确的退出代码或文本。
  3. 根据测试成功与否,重新标记:docker tag my_app:1.0
  4. 您需要创建一个泊坞网络(docker network create my_test_network),或者更好地使用docker-compose。