问题标签 [testcontainers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在测试容器上将端口从容器公开到容器?
我想集成测试在 docker 环境中运行的一些服务。他们必须在连接时互相交谈。所以我需要以某种方式暴露彼此之间的端口。是否可以使用测试容器库进行此设置?我没有找到任何码头。
经过测试的应用程序在本地运行,它将连接到 dockerised 服务器:
- mysql
- 后端一
为了使后端更加困难,一台服务器需要与 mysql 服务通信。这可以使用测试容器吗?
testcontainers - 测试容器中的 GenericContainer 应该如何参数化?
我的 IDE 中出现以下错误:
参数化类“GenericContainer”的原始使用检查信息:报告省略类型参数的参数化类的任何使用。参数化类型的这种原始使用在 Java 中是有效的,但违背了使用类型参数的目的,并且可能掩盖错误。
我已经检查了文档,并且创建者也到处使用原始类型: https: //www.testcontainers.org/quickstart/junit_4_quickstart/fe:
我不明白这种方法。谁能解释我应该如何参数化 GenericContainer<>?
testcontainers - 如何在一个数据库服务器/容器上创建多个数据库
如何在一个 mysql db 容器上创建多个数据库?或者我是否必须为每个数据库创建 db 容器?当我尝试从 sql 文件脚本创建它时:
我收到一个错误:
内容init_mysql.sql
我尝试了很多配置。对我来说,除了在容器创建时配置的专用数据库外,我似乎无法执行 sql。请帮忙。我有 6 个数据库,为每个数据库创建专用容器是浪费资源。
testcontainers - 如何等到 Kafka 容器启动
我正在使用https://www.testcontainers.org/modules/kafka/并想配置容器,以便在我的测试开始之前,确保 Kafka 已启动并运行。
如何存档?
spring-boot - 在 Gitlab Ci 中将 RabbitMq 作为 GenerigContainer 启动
我有一个具有集成测试的 Spring Boot 2.1 应用程序。出于集成测试的目的,我想用 testcontainers 框架启动一个 RabbitMq 容器。当我在本地机器上启动它们时,一切似乎都正常工作,我可以在 IT 测试期间访问我的 rabbitMQ。但是,一旦我在 gitlab-ci 下执行,我就会不断收到连接被拒绝的异常
这是我的应用程序属性
这是我在 gitlab-ci 中的验证步骤
这就是我启动测试容器 RabbitMQ 的方式
这是我的例外
我的猜测是它与在 gitlab 上解析 localhost 的主机名有关。
java - 如何存储来自测试容器的容器日志?
测试容器项目允许从 compose 文件启动 docker 容器。它们与 JUnit 集成。但是当测试阶段完成时,我所拥有的只是 maven 日志 - 到那时所有启动的容器都被删除了。如果 6 例如我运行容器 4 次进行 4 次测试Application
,那就太好了。Database
所以 maven 目标文件夹应该包含以下内容:target/test-containers/<start-id>/Application.log
和
target/test-containers/<start-id>/Database.log
.
有没有办法配置测试容器或 JUnit 或两者都将日志从启动的容器重定向到某个文件夹?
spring - 如何使用 TestContainers + Spring Boot + oracle-xe
我尝试将测试容器与 Oracle-XE 模块和 Spring Boot 一起使用,到目前为止,当我启动测试时,我遇到了异常:
在我的src/test/application.properties
中,我将 url 数据源声明为:
为了指示要为 oracle-xe 拉取的 docker 映像,我在以下位置创建了testcontainers.properties
文件src/test/resources
:
您知道如何进行这项工作吗?
它与 MySQL 完美配合,使用数据源 url:
docker - 如何使用 docker compose 为并行运行设置测试容器?
这是 docker-compose 文件:
在运行任何测试方法之前,此 compose 文件在 java junit test 中运行:
当所有测试方法一一运行时,根本没有问题。但是当我尝试同时运行 2 个以上的测试时,我得到了这样的错误:
这些端口与withExposedService
功能不同。另一方面,撰写文件中的所有服务都在隔离网络中启动,因此不应该有任何冲突,但它们存在。任何 bpody 都可以解释端口发生了什么吗?应该向测试容器提供哪些附加配置以同时多次运行 docker-compose 服务?
java - Testcontainers - 在实例化过程中不要自动启动容器
假设我的集成测试(JUnit 5)中有以下容器:
这样,容器将自动启动。有没有办法告诉测试容器不要自动启动容器?
java - Testcontainers - 在集成测试中使用不同的数据库运行容器
在 maven 包阶段,我构建了我的应用程序的 docker 映像:
在我的集成测试中,我使用我的应用程序的这个图像,如下所示:
我的问题:如何向我的容器发出信号,表明它正在集成测试中运行,因此应该使用不同的数据库,例如 H2?