问题标签 [testcontainers-junit5]

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.

0 投票
1 回答
121 浏览

spring - 测试容器 oracle DB

我正在尝试使用 Testcontainers 和 Oracle-xe 数据库设置集成测试。我收到以下错误:

application.properties 条目:spring.datasource.driver-class-name=org.testcontainers.jdbc.ContainerDatabaseDriver

我的测试扩展:

测试:

0 投票
0 回答
68 浏览

jenkins - 测试容器在 Windows 本地正常工作,但在 Jenkins 运行测试时不能正常工作

我有一些测试容器正在运行我的 junit 集成测试(Spring Boot,Junit 5)

一个用于另一个 postgrs 数据库,一个用于 ActiveMQ 通用

本地一切正常,但是当我在 Linux 环境(Raspberry Pi 4 4GB Model B)中设置的 Jenkins 中运行测试时,我收到以下错误:

我尝试添加等待条件,或 withStartupTimeoutSeconds(240) 但无济于事。

有类似问题的人吗?

0 投票
1 回答
36 浏览

spring - 重用测试容器 OracleContainer

是否可以在项目testcontainers.properties上拥有testcontainers.reuse.enable配置,而不是在我的用户根文件夹中?

0 投票
0 回答
39 浏览

java - Gradle JUnit/Jupiter testing - 为每个测试类组设置特定的上下文?

我正在处理的应用程序需要根据要运行的 JUnit 测试创建不同的上下文。具体来说,假设我有五个测试类 - ClassOneTest.class、ClassTwoTest.class、...、ClassFiveTest.class。我还使用 testContainers 框架来创建测试所需的后端。

我需要使用一个特定的上下文(数据库、配置、docker 容器等,你可以命名它)运行 ClassOneTest 和 ClassTwoTest。然后是具有完全不同上下文的 ClassThreeTest、ClassFourTest 和 ClassFiveTest。

设置上下文需要相当长的时间,因此不能为每个测试类重新创建它,这意味着应该设置一次 Context1,然后播放 ClassOneTest 和 ClassTwoTest,然后清理 Context1,然后创建 Context2并设置,然后测试三、四和五班,然后 Context2 清理并关闭。显然,在每个 testClass 上使用 @ExtendWith(TestExtension) 并不是要走的路。

我可以按照我需要的方式实现它吗?
0 投票
2 回答
664 浏览

docker - 用 minikube 替换 Docker Desktop 后测试容器不启动

我想让我在 Java 集成测试中的测试容器与 minikube 替换 Docker Desktop 一起工作。

我按照以下文章开始: https ://www.atomicjar.com/2021/10/docker-on-windows-and-macos/#minikube

这就是我在 testcontainers.properties 中得到的

尽管我的 docker 已启动并正在运行,但出现以下异常:

任何人都可以提出任何建议以使其正常工作吗?

助教

0 投票
1 回答
113 浏览

java - TestContainer 运行 Selenium Chrome 驱动程序,java.lang.NoSuchMethodError

我正在尝试通过 TestContainer 运行 Selenium 测试。

这通过 NoSuchMethodError 失败ChromeOptions .addArguments(String...s)

但是,如果我直接从测试中调用它,它会通过并addArguments(String...s)找到该方法,例如

然而,如果这个方法是通过BrowserWebDriverContainer类调用的,那么它会抛出一个NoSuchMethodError

这是我的测试方法:

}

该测试从以下调用org.testcontainers.containers.BrowserWebDriverContainer

哪里options.addArguments("--disable-gpu");java.lang.NoSuchMethodError

这是我设置的一个演示项目,用于尝试重新创建问题,这是我的整个pom.xml文件:

0 投票
0 回答
85 浏览

testcontainers - TestContainers 无法连接到打开的端口

在我使用 testcontainers 进行的一项测试中,容器无法启动,日志为:

但是,当我注意到启动容器需要很长时间时,我查看了容器状态:

很明显端口10010-10013已经映射到49154-49157,使用netcat,这些端口是可达的,但是为什么会出现错误,无法启动容器呢?

容器定义:

(绑定工作正常)

0 投票
1 回答
67 浏览

testcontainers - 无法连接到 Ryuk?

嗨,我正在尝试从我的单元测试类中启动一个测试容器。

在我的测试课上,我正在使用以下内容

但是,当我运行测试时,出现以下错误

感谢任何帮助谢谢

0 投票
1 回答
63 浏览

elasticsearch - Connection refused with Elasticsearch test container even after adding wait

I'm trying to move the application to write tests using Elasticsearch container. The container does come up and checking its elasticsearchContainer.isRunning() status returns true but while making a search request Connection Refused exception is thrown. From the Spring boot, ElasticSearch and TestContainers integration tests. Connection refused I added a wait but the same issue persists.

The container starts up fine and no error in the logs either:

Any suggestions on how to make the connection work?

0 投票
1 回答
359 浏览

java - 加速 Elasticsearch 测试容器

我已将 java 集成测试移动到使用 elasticsearch 测试容器,而不是使用嵌入式 elasticsearch。测试速度变慢了 1 小时,这对生产力造成了巨大影响。我正在寻找加快速度的方法。

我尝试reuse在 Elasticsearch 容器上使用参数,但这并没有产生任何影响。我的最新配置是

Gradle 配置(gradle daemon 崩溃一次,因此增加到 2g)

关于使测试更快的任何建议?