问题标签 [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.

0 投票
2 回答
4543 浏览

elasticsearch - 用于测试“配置的节点均不可用”的 Elasticsearch 和 Testcontainers

我尝试使用 elasticsearch 容器编写测试。我使用https://www.testcontainers.org/库运行它。这是我的配置:

我有一个例外:

我为测试重新配置了我的端口,并且 9200 端口可用(在由 testcontainers 映射的端口上) - 我通过 curl 检查了它。但9300不是。

有人知道如何解决传输主机问题吗?

0 投票
1 回答
2069 浏览

dropwizard - 使用 Testcontainers 进行 Dropwizard 集成测试

我正在尝试针对 dockered 数据库运行 dropwizard 的集成测试。

我试过的:

我明白了Caused by: java.lang.IllegalStateException: Mapped port can only be obtained after the container is started

将这些链接在一起也不起作用

最后这可行,但据我了解,它为每个测试运行新的 DropwizardAppRule,这并不好......

那么,如何在创建 DropwizardAppRule 之前链接规则以使 PostgreSQLContainer 首先启动并且容器已启动?

0 投票
1 回答
135 浏览

testcontainers - 如何使用 Testcontainers 发送信号?

我使用haproxy docker 镜像和挂载配置文件。

配置重新生成,我想haproxy通过发送重新启动docker kill -s HUP %container%. 如何使用 Testcontainers 实现这一目标?

0 投票
1 回答
4031 浏览

docker - 如果不存在,Testcontainers 可以为我创建 docker 网络吗?

看起来我需要一个网络,因为我想通过主机名从另一个容器引用一个容器。

我也可以使用,--link但它已被弃用,很快就会消失。这就是为什么我想知道 Testcontainers 是否可以为我创建一个 docker 网络。

使用命令行,我只需执行docker network create bridge2,然后我可以像这样启动容器:

nslookup alpine2alpine1容器中解决。

如果我尝试使用默认--net=bridge网络或跳过--net选项(实际上是相同的),按名称引用将不起作用。

0 投票
1 回答
181 浏览

testcontainers - 尝试将 Testcontainers 规则与抽象类中的网络一起使用时出现“没有这样的网络”错误

假设我有一个名为的抽象类AbstractTestWithNetwork

我想通过扩展它来简单地重新使用它以在多个类中拥有相同的容器:

还有SecondTestClass一个内容相同的。

我可以从 IDE 单独运行每个类,它们会通过。但是当我gradle test从 IDE 运行或选择带有测试类的整个包时,只有第一个测试类通过。第二个我得到:

0 投票
2 回答
982 浏览

docker-java - 如何获取使用 Testcontainers 执行的命令退出代码?

使用GenericContainer#execInContainer我只能得到标准输出或标准错误。

有没有办法获得执行命令的退出代码?

我不能依赖 stderr 中文本的存在。我执行的应用程序将一些信息打印到 stderr,但以代码 0 退出。

0 投票
1 回答
600 浏览

docker - 如何为测试环境配置 docker daemon

我尝试使用 docker 对数据库进行单元测试。我使用库,它在测试期间运行数据库映像。文档说:

测试容器将尝试使用以下策略依次连接到 Docker 守护进程:

环境变量:

默认值:

如果安装了 Docker Machine,则会找到第一台机器的 docker 机器环境。Docker Machine 需要在 PATH 上才能成功。

我在 Ubuntu 16.04 中安装了 docker,但不了解如何配置 docker 守护程序以与此测试库一起使用。有什么帮助吗?

0 投票
1 回答
1332 浏览

java - TestContainers Oracle 超时异常

我尝试使用testcontainers库与 Oracle 进行集成测试。这是一个简单的测试:

我的 Docker 安装适用于 testcontainers-oracle-xe,操作系统是 macOS Sierra 10.12.6。

如何解决这个问题?

PS全控制台输出

0 投票
0 回答
3899 浏览

java - SpringBoot Application的GenericContainer:等待容器端口打开超时

我会用 TestContainers 测试一个 Spring Boot 应用程序,但我不明白正确的方法。

这是我的控制器:

这是我的测试课:

Dockerfile:

起居室:

最后是错误:

从日志看来,“spring boot”已正确启动,问题出在哪里?

我使用的是 Mac (sierra 10.13.1) Docker 版本 17.09.0-ce,构建 afdb6d4

提前致谢!

0 投票
1 回答
402 浏览

java - WebDriver 容器无法访问 DockerComposeContainer 服务

我正在尝试使用testcontainers java 库来测试使用 docker-compose 定义的 Web 应用程序。

我可以成功地从 DockerComposeContainer 公开服务并使用 RestTemplate 查询它们。

但是,当我尝试通过 webdriver 访问该服务时,我收到一个连接被拒绝错误 - “localhost 拒绝连接”。

我认为 webdriver 'localhost' 仍然是其容器内的 localhost,而不是暴露服务的主机。

如何让 webdriver 访问主机网络以访问暴露的服务?