作为Trendyol客户服务团队,我们开发和维护不同的项目。为了能够安全地依赖我们的项目并增加我们的交付重点,我们始终试图改善我们的运营。 集成测试是这些操作步骤之一,最近我们有机会专注于我们的集成测试,并且情况有所改善。我将通过回答以下问题来尝试解释与集成测试过程相关的这些操作:
- 在Wiremock之前我们如何管理集成测试?
- 是什么问题促使我们使用Wiremock?
- 我们如何使用Wiremock?
- api-gateway:主要的Restful API项目。
- api-gateway-test:使用Gherkin和Java的Cucumber集成测试项目。
- Gateway-api:Git推送->构建项目->将构建的Docker映像作为'gateway-api:latest'推送到Docker注册表
- Gateway-test-api:Git推送->构建项目->将构建的Docker映像作为'gateway-api-test:latest'推送到Docker注册表
variables: REGISTRY_URL: <docker_registry_url> REGISTRY_PASS: <docker-registry-username> REGISTRY_HOST: <docker-registry-password> stages: - Integration test - Build Build: stage: build script: - docker login -u $REGISTRY_USER -p $REGISTRY_PASS $REGISTRY_HOST - docker build -t greay-gw-api-build . - docker push great-gw-api-build Integration Test: Integration test image: $REGISTRY_URL/docker-compose-git services: - $REGISTRY_URL/docker-dind variables: DOCKER_HOST: $REGISTRY_URL script: - docker login -u $REGISTRY_USER -p $REGISTRY_PASS $REGISTRY_HOST - docker-compose up --abort-on-container-exit |
- 构建最新的映像并将其推送到指定的注册表。
- 如果docker-compose文件存在于同一目录中,请运行该文件。(我们将很快通过示例深入研究此流程。)
- 我们在gateway-api中实现了某种功能,并将其合并到master分支中。合并之后,带有“:latest”标签的docker映像将被推送到相应的注册表。
- 我们还针对该功能编写了集成测试,还将其合并到master分支,这再次导致带有“:latest”标签的测试项目的docker映像被推送到相应的注册表。