如何将基于 JDBC URL 的测试容器迁移到 Junit 5
Posted
技术标签:
【中文标题】如何将基于 JDBC URL 的测试容器迁移到 Junit 5【英文标题】:How to migrate JDBC URL based testcontainers to Junit 5 【发布时间】:2019-08-13 11:55:05 【问题描述】:我已经基于 JUnit 4 进行了 spring boot + testcontainers 测试。
例子:
@RunWith(SpringRunner.class)
@SpringBootTest
public Test
...
public void someTest()
...
...
测试属性:
spring:
datasource:
driver-class-name: org.testcontainers.jdbc.ContainerDatabaseDriver
url: jdbc:tc:mysql:5.6://hostname/db?TC_MY_CNF=mysql
username: user
password: pass
此测试正常运行,testcontainers 使用 JDBC Url 字符串使用 MySQL 5.6 启动测试容器。
现在我想从项目中删除 junit 4 以支持使用 JUnit 5。
testcontainers + Spring boot 是否能够以类似的方式(通过使用 JDBC URL)但使用 JUnit 5 来启动容器?
如果是 - 怎么做,或者这里可以使用哪种解决方法?
【问题讨论】:
【参考方案1】:JDBC URL 样式容器与测试框架无关,只要在 JVM 上运行,您就可以将其与任何框架一起使用:)
【讨论】:
是的,你是对的,我的问题是我从 mysql 容器 maven 依赖项中排除了 junit4,ClassNotFound
在这种情况下被抛出(对于TestRule
类)。所以它依赖于junit4。当我删除排除它的工作原理以上是关于如何将基于 JDBC URL 的测试容器迁移到 Junit 5的主要内容,如果未能解决你的问题,请参考以下文章