Testcontainersは、MongoDBサーバーポートをマシン上のランダムポートにマップします。そのため、spring.data.mongodb.uri=mongodb://127.0.0.1:27017/test
をハードコーディングすることはできません。 プロパティファイル内。
JUnit5とSpringBoot>=2.2.6の基本的なセットアップは次のようになります
@Testcontainers
public class MongoDbIT {
@Container
public static MongoDBContainer mongoDBContainer = new MongoDBContainer();
@DynamicPropertySource
static void mongoDbProperties(DynamicPropertyRegistry registry) {
registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
}
}
別のJUnitまたはSpringBootバージョンを使用している場合は、正しいテストコンテナの設定 。