对于我的项目,我需要有一个启动测试容器的任务,但是当我试图启动我的任务时,我遇到了以下错误
Previous attempts to find a Docker environment failed. Will not retry. Please see logs and check configuration
我觉得是配置问题。
我正在使用Kotlingradle,我的构建文件看起来像这样:
import org.testcontainers.containers.PostgreSQLContainer
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
testImplementation("org.testcontainers:postgresql")
}
buildscript {
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
"classpath"("org.testcontainers:postgresql:1.17.5")
}
}
tasks.register("postgresContainer") {
val containerInstance = PostgreSQLContainer<Nothing>("postgres:12.8")
.apply {
withDatabaseName("test")
}
containerInstance.start()
extra["containerUrl"] = containerInstance.jdbcUrl
extra["containerUsername"] = containerInstance.username
extra["containerPassword"] = containerInstance.password
extra["containerDatabaseName"] = containerInstance.databaseName
extra["containerInstance"] = containerInstance
}
我已经省略了大部分内容,但找不到我遗漏的内容
我试图参考测试容器的文档,但无法找到我的具体情况,Docker似乎配置正确,我认为错误来自我的build.kts
1条答案
按热度按时间sczxawaw1#
我建议如下。
将其添加到您的
build.gradle.kts
文件以添加对测试容器的支持(此特定示例是针对PostgreSQL的,但理念是相同的...):将以下内容作为全局变量添加到测试类中:
就我个人而言,我已经将其添加到
AbstractIntegrationTest
类中,并在那里配置了容器,如下所示:请注意,
withReuse(true)
只是一个优化,它确保不会为每个测试重新创建DB,因为这是一个繁重的操作,因此您需要在测试之间以编程方式截断表...例如: