TestContainers太棒了! 它提供了一种非常方便的方式来启动和清除JUnit测试中的Docker容器。 此功能对于将应用程序与实际数据库以及可使用docker映像的任何其他资源进行集成测试非常有用。
我的目标是演示使用TestContainers对基于JPA的Spring Boot Application进行示例测试。 该示例基于TestContainer github repo上的示例 。
示例应用
基于Spring Boot的应用程序非常简单–它是基于Spring Data JPA的应用程序,其Web层使用Spring Web Flux编写。 完整的示例可在我的github存储库中找到 ,直接在此处直接遵循代码可能会更容易。
import javax.persistence.Entity
import javax.persistence.GeneratedValue
import javax.persistence.Id
@Entity
data class City(
@Id @GeneratedValue var id: Long? = null,
val name: String,
val country: String,
val pop: Long
) {
constructor() : this(id = null, name = "", country = "", pop = 0L)
}
由于出色的Spring Data JPA项目,提供一个用于管理该实体的存储库所需的就是以下接口&#x