Spring Boot Testcontainer Статический или нет?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Spring Boot Testcontainer Статический или нет?

Сообщение Anonymous »

Я хочу знать, как лучше всего определять тестовые контейнеры в Spring Boot.
Я видел разные версии их определения.

Код: Выделить всё

@TestConfiguration(proxyBeanMethods = false)
class TestcontainersConfiguration {

@Bean
@ServiceConnection
KafkaContainer kafkaContainer() {
return new KafkaContainer(DockerImageName.parse("apache/kafka-native:latest"));
}

}
Например, здесь контейнер определен следующим образом, и насколько я понимаю, это означает, что контейнер воссоздается для каждого теста? Или все еще существует один контейнер для всех тестов внутри тестового класса, помеченный @Import(TestcontainersConfiguration.class) ?
Другой вариант, который я часто вижу, определяет его следующим образом:

Код: Выделить всё

@Testcontainers
@SpringBootTest
public abstract class ContainerBase {

@ServiceConnection
static KafkaContainer kafka;

// Static block ensures container starts once for all tests
static {
kafka = new KafkaContainer(DockerImageName.parse("apache/kafka-native:latest"))

// Start the container once
kafka.start();
}
}
Какой из них предпочтительнее?

Подробнее здесь: https://stackoverflow.com/questions/798 ... tic-or-not
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»