testing具有外部依赖性的集装箱化微服务

于是我构build了一个REST API微服务,它查询本地Elasticsearch实例并根据内部协议转换结果。 我将其构build到一个Docker镜像中,我想在build中运行一些unit testing。 由于ES连接到私有Dockernetworking,在构build过程中微服务不可访问,因此testing显然失败。 我想知道,有没有办法解决这种情况,而不必使用一些复杂的testing框架来做dependency injection? 你在工作实践中如何testing这种容器?

我会build立应用程序没有任何testing。 然后,我将使用docker runtesting它,以便您可以采取dockernetworking的优势。

粗略地说,这比在构build过程中的testing更优雅:

  1. docker build -t my_app:1.0-early为了获取图像, 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. 根据testing的成功与否,重新标记: docker tag my_app:1.0

您将需要已经创build一个dockernetworking( docker network create my_test_network ),或更好地使用docker构成。

Interesting Posts