问题标签 [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.
docker-compose - TestContainers:重用来自 DockerComposeContainer 的网络以在其他 GenericContainer 中使用?
有一个方法:
org.testcontainers.containers.GenericContainer#withNetwork
我可以使用 TestContainers lib 生成具有相同网络的容器。
但是 DockerComposeContainer 呢,首先我启动它,然后我想从中获取一个网络,并在生成以下 GenericContainers 时重用同一个网络。
现在甚至可能吗?
selenium - 无法访问 org.openqa.selenium.WrapsDriver Selenide + TestContainers
我正在尝试将 Selenide5.0.0
与 TestContainers一起使用1.9.1
显然,这些版本是不兼容的,因为当我运行我的测试时,我得到:
硒化物一切正常4.12.3
spring-boot - 在 SpringBoot 集成测试中使用 TestContainers 填充数据库
我正在测试 TestContainers,我想知道如何填充执行 .sql 文件的数据库以创建结构并添加一些行。
怎么做?
amazon-s3 - Spring Cloud:使用 TestContainers 测试 S3 客户端
我使用 Spring CloudResourceLoader
访问 S3,例如:
它工作正常,我需要帮助来使用 Localstack/Testcontainers 测试代码。我尝试了以下测试,但它不起作用 - 我的生产配置文件被拾取(未注入带有 localstack 配置的 s3 客户端):
docker - Spring Batch 是否可以使用外部应用程序启动容器?
假设我们有一个带有 REST 端点的 REST 应用程序,我们可以将其包装在 Docker 容器中。
假设我们的 Spring 批处理Item Processor
喜欢使用上述应用程序来获取有关它正在处理的记录的业务逻辑信息。
我们喜欢这个 REST 应用程序仅由Spring Batch
流程使用,我们不喜欢 Batch 流程与生产 REST 应用程序进行通信,而是拥有某种它自己的 REST 应用程序实例。
我们还喜欢这个应用实例会在 Spring Batch 流程启动时自动创建,因此不需要额外的人工干预或配置。
Spring 批处理是否有可能使用 run 并将 REST 服务用作 Docker 容器(可能作为testconainer或docker compose?),以便它可以以某种方式“在内部”使用它?
这是一个合理的架构吗?
spock - 如何在 Spring Boot 中使用 testcontainers 正确运行 spock 测试
我有一个 spring boot 应用程序,使用spock
and testcontainers
(mysql) 编写测试。我所做的工作正常,但感觉不对(因为@sql
每次测试迭代都会进行,所以我必须INSERT IGNORE ...
在我的 sql 脚本中使用。我也不满意静态和非静态 mysqlcontainer 的技巧) . 当谈到 testcontainers(实际上是 spock)时,我是一个完全的初学者,所以如果有人能告诉我如何更好地使用spock
, @sql
, 数据源,testcontainers
我将不胜感激。
更新(使用基于 jdbc 的容器):
当涉及到JDBC-based containers
我不确定我是否正确设置它时。我已经application-test.properties
在test/resources
目录中创建了。我放在那里:
我的测试类看起来像:
当我尝试运行测试类时,我不断得到:
其次是
mysql版本的问题8
看这里
更新(已解决):
正如@bsideup 指出的那样,基于 jdbc 的容器是此用例的最佳解决方案。正如我上面描述的那样,它工作得很好,但我不得不将 mysql 版本从更改8
为更低。
docker - 使用环境变量检测主机上的 Docker 运行时
我想运行测试以验证使用 TestContainers 正确执行 Flyway 迁移。
使用 JUnit5,我想仅在运行 Docker 守护程序的主机上启用这些测试(@EnabledIfSystemProperty(named = "docker...", matches = "")
)https://junit.org/junit5/docs/current/user-guide/#writing-tests-conditional-execution-system -属性。
我的问题是:如何使用环境变量检查主机上是否有 Docker 守护程序可用?
PS:我无权访问 CI 主机。
java - 使用测试容器时“未找到可链接容器”
我想使用测试容器(https://www.testcontainers.org/usage.html)
于是我导入了对应的Maven依赖:
然后我右键单击任务栏上的泊坞窗图标->设置->常规并检查该项目:
按照 testcontainers 站点上的说明设置环境变量:
并使用代码创建了一个 JUnit 测试:
但是我得到了错误:
我用谷歌搜索了“未找到可链接容器”和“未找到 org.testcontainers.containers.traits.LinkableContainer”,但没有任何结果。
任何想法出了什么问题?
java - 找不到路径 PostgreSQLContainer testContainers
在 Postgres 版本中使用Test Containers时,我无法找到我的资源图。我正在尝试类似的东西:
但是,我找不到该文件。我什至尝试将脚本 create.sh 包含在同一目录中,但找不到:
java.lang.IllegalArgumentException:在这些类加载器中的任何一个上都找不到路径为 ../../../../../../../create.sh 的资源
项目结构
有同样问题的人吗?
spring - 使用 SpringBootTest 的 TestContainers 中的 DB 容器出现问题
我有一个使用 TestContainers 的抽象类 BaseIntegrationTest。问题是当我尝试运行像 UserRepositoryIntSpec 这样的简单数据库测试时,我遇到了一个异常,这意味着计数从 114 开始,而不是像预期的那样从 1 开始。为什么索引不是从 1 开始?为什么每次执行设置时我的本地数据库用户表都很清楚,因为我希望测试在容器中使用容器数据库运行,所以只会清除容器表。这绝对应该是我刚刚错过或不理解的简单事情。我将不胜感激。
对于迁移,我使用 Flyway 来测试 Spock。
不满足条件:
基础集成测试
UserRepositoryIntSpec
应用程序.yml