当前位置: 首页 > 知识库问答 >
问题:

Docker-测试后编写退出依赖于服务

鲁杜吟
2023-03-14

如何使服务容器在依赖容器完成后退出?

version: '2.1'
services:
  app_postgresql95:
    build: ./postgresql95/
    ports:
     - 54321:5432

  app_unittestbot:
    command: /root/wait-for-it.sh app_postgresql95:5432 --timeout=60 -- nose2 tests
    build: ./unittestbot/
    links:
      - app_postgresql95
    volumes:
      - /app/src:/src
    depends_on:
      - 'app_postgresql95'

共有1个答案

吴品
2023-03-14

您可以运行docker-compose up--abort-on-container-exit使compose停止所有容器(如果其中任何一个容器退出)。这很可能解决您的用例。

为了更有弹性,我可能会把它分成两个compose文件,这样postgresql上的中止不会意外地注册为成功的测试。然后您只需按照所需的顺序运行这些文件:

docker-compose -f docker-compose.yml      up -d
docker-compose -f docker-compose.test.yml up
docker-compose -f docker-compose.yml      down
 类似资料:
  • 主要内容:1. dependOnMethods示例,2. dependsOnGroups示例有时,我们可能需要以特定顺序调用测试用例中的方法,或者可能希望在方法之间共享一些数据和状态。 TestNG支持这种依赖关系,因为它支持在测试方法之间显式依赖的声明。 TestNG允许指定依赖关系: 在注释中使用属性,或者 在注释中使用属性。 在TestNG中,我们使用和来实现依赖测试。 如果依赖方法失败,则将跳过所有后续测试方法。 为了方便演示使用,首先创建一个 Maven 项目: DependO

  • 测试用来验证非测试的代码是否按照期望的方式运行的 Rust 函数。测试函数体通常执行如下三种操作: 设置任何所需的数据或状态 运行需要测试的代码 断言其结果是我们所期望的 让我们看看 Rust 提供的专门用来编写测试的功能:test 属性、一些宏和 should_panic 属性。 作为最简单例子,Rust 中的测试就是一个带有 test 属性注解的函数。属性(attribute)是关于 Rust

  • 问题:Maven在我的测试中找不到一些依赖项 在我的pom中是这样导入的。xml: 我已经试过了: mvn测试编译 使Intellij缓存无效 重启Intellij 清除. m2并重建项目

  • 所以在开始这个问题之前,这里是我对码头工人的理解。 Docker有3个组件 图像 容器 DockerFile 现在,我不想采用的方法,在这里指定创建容器时要执行的步骤。 我想在Linux上安装一些基本的实体,如MongoDb、Redis等,并在它们上运行我的服务器。 于是我就这样开始了: 它返回给我容器的id。 但每次它都在说: 请帮助我做错的地方,这可能是一个新手的问题,但我被困在这里,请不要反

  • 对于 REST API 的测试部分。正在查看可以在Spring启动中使用的依赖项。我看到有JUnit依赖项和Spring启动器测试依赖项。 JUnit依赖项和Spring Boot启动器测试依赖项有什么区别?