0

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

4

1 回答 1

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

您需要已经创建了一个 docker 网络 ( docker network create my_test_network),或者更好地使用 docker-compose。

于 2017-06-07T13:59:28.237 回答