如何解决Micronaut 重用测试容器
我使用 Micronaut 2.4.0 并使用 testContainers 进行 SQL Server 集成测试。
这是我的 gradle.build
testImplementation("org.testcontainers:testcontainers")
testImplementation("org.testcontainers:junit-jupiter")
testImplementation("org.testcontainers:mssqlserver")
这里是用于测试的application.yml
url: jdbc:tc:sqlserver://localhost;databaseName=test-db
username: sa
password: sa
driverClassName: org.testcontainers.jdbc.ContainerDatabaseDriver
这些是唯一的更改和 micronaut 处理测试容器的创建和启动。
问题
对于每个测试类,它都会创建新的容器。 测试花费的大部分时间是在容器创建中。
有没有办法重复使用容器? (清除数据库可能仍然没问题)
解决方法
迟到的回复,但以防万一有人偶然发现。
尝试将 TC_REUSABLE=true 添加到 jdbc URL 中
即:jdbc:tc:sqlserver://localhost;databaseName=test-db/TC_INITSCRIPT=db/customer_database_schema.sql&TC_REUSABLE=true
,另一个答案可能是正确的。
我使用 jdbc URL 中的 TC_DAEMON=true
参数使其工作
这样就变成了
url: jdbc:tc:sqlserver://localhost;databaseName=mydb?TC_DAEMON=true
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。