检查TestContainers的内容

我正在使用PostgreSQL TestContainer在Spring Boot中测试Liquibase模式迁移。我没有任何资料库。我想知道是否可以查看/访问TestContainer的内容,并测试架构迁移。

里克皮尔

是的,您可以像其他任何Docker容器一样访问由Testcontainers生成的Docker容器。但是,对测试容器使用JUnit 5扩展或JUnit 4规则将在测试后关闭容器。

您可以对Testcontainer使用coontainer可重用性功能(从1.12.3开始处于Alpha状态),以确保您的容器在测试完成后正常运行。

由于Testcontainer将在临时端口上启动容器,因此只需执行docker ps并检查容器端口映射到哪个本地端口即可。例如:

b0df4733babb        postgres:9.6.12      "docker-entrypoint.s…"   19 seconds ago      Up 18 seconds       0.0.0.0:32778->5432/tcp   inspiring_dewdney

现在,您可以localhost:32778使用PgAdmin或IntelliJ IDEA的数据库视图连接到数据库,并检查数据库表。

访问的凭据是您在测试中指定的凭据:

static PostgreSQLContainer postgreSQLContainer = (PostgreSQLContainer) new PostgreSQLContainer()
  .withDatabaseName("differentDatabaseName")
  .withUsername("duke")
  .withPassword("s3cret")
  .withReuse(true);

作为解决方法,您还可以在测试结束时插入断点,调试测试,然后快速检查数据库。

更新:如果要验证架构的有效性,可以为此使用休眠功能:

spring.jpa.hibernate.ddl-auto=validate

这将验证您的Java实体设置在应用程序启动时是否与基础数据库模式匹配。您也可以将其添加到生产application.properties文件中,因为如果不匹配(例如,缺少表,列),应用程序将无法启动。

为了使它在测试中起作用,您需要使用@DataJpaTest或使用@SpringBootTest整个应用程序上下文连接到本地容器。

在此处查找更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MockHttpServletResponse:检查xml内容

来自分类Dev

检查文件内容的更改

来自分类Dev

MockHttpServletResponse:检查xml内容

来自分类Dev

从URL检查内容类型

来自分类Dev

检查变量的内容

来自分类Dev

检查数组的内容——CosmosDB

来自分类Dev

Twitter API检查NSFW内容

来自分类Dev

在iOS上检查NSCache内容?

来自分类Dev

Chef Minitest检查文件的内容

来自分类Dev

检查是否加载了iframe内容?

来自分类Dev

检查Docker映像的文件内容

来自分类Dev

如何检查Noobaa桶的内容

来自分类Dev

如何检查可选的@ViewBuilder内容

来自分类Dev

如何检查/ etc / localtime的内容?

来自分类Dev

用jQuery检查div的内容

来自分类Dev

在asyncfileupload中检查内容类型

来自分类Dev

如何检查/ dev / sdt的内容

来自分类Dev

内容阻止Safari规则检查

来自分类Dev

XSLT 在映射之前检查内容

来自分类Dev

Python:无法检查文件的内容

来自分类Dev

如何检查哈希表中的内容是否与任何内容匹配

来自分类Dev

angularjs指令:如何检查被包含的内容

来自分类Dev

JavaMail单元测试:要检查的内容

来自分类Dev

如何检查Geb模块“内容”是否存在?

来自分类Dev

Behat-检查列表元素包含内容

来自分类Dev

从URL检查内容:是文件还是网页?

来自分类Dev

使用Java流检查ArrayList内容

来自分类Dev

检查各个div的文本并更改内容

来自分类Dev

Jekyll:检查帖子内容是否为空