所以我构建了一个REST API微服务,它查询本地Elasticsearch实例并根据内部协议转换结果。我把它构建成一个Docker镜像,我想在构建中对它运行一些单元测试。由于ES连接到私有Docker网络,在构建期间微服务无法访问它,因此测试显然会失败。我想知道,有没有办法解决这种情况,而不必使用一些复杂的测试框架来进行依赖注入?你如何在工作实践中测试这种容器?
答案 0 :(得分:0)
我会在没有任何测试的情况下构建应用程序。然后我会使用docker run
测试它,这样你就可以获得docker网络的优势。
粗略地说,这比构建过程中的测试更优雅:
docker build -t my_app:1.0-early
您的申请以获取图片。 docker run --network my_test_network my_app:1.0-early /run_test_cases.sh
。返回正确的退出代码或文本。docker tag my_app:1.0
您需要创建一个泊坞网络(docker network create my_test_network
),或者更好地使用docker-compose。