@Container
public DockerComposeContainer<?> environment =
new DockerComposeContainer<>(new File("src/test/resources/docker-compose-test.yml"))
.withExposedService("myservice_1", 8080)
.withPullPolicy(DockerComposeContainer.PullPolicy.alwaysPull())
.withStartupTimeout(Duration.ofMinutes(3));
@Test
void testService() {
String address = environment.getServiceHost("myservice_1", 8080);
Integer port = environment.getServicePort("myservice_1", 8080);
// здесь вы можете взаимодействовать с сервисом, как обычно, используя адрес и порт
// например, вы можете использовать RestTemplate или WebClient для выполнения HTTP-запросов
// или используйте любой другой клиент для работы с сервисом
// assertThat(...)
}
import org.junit.jupiter.api.Test; import org.testcontainers.containers.DockerComposeContainer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers;
import java.io.File; import java.time.Duration;
import static org.assertj.core.api.Assertions.assertThat;
@Testcontainers public class DockerComposeTest {
}