Я хочу написать интеграционный тест для своего приложения, поэтому хочу использовать пакет TestContainer. Когда я запускаю следующий простой тест:
Код: Выделить всё
@Testcontainers
public class myIntegrationTest{
@Container
private GenericContainer container =
new GenericContainer(DockerImageName.parse("myImageName:latest"))
.withExposedPorts(8080);
@Test
public void myIntegrationTestName() throws Exception{
assertTrue(container.isRunning());
}
}
18:30:58.741 [main] ERROR org. testcontainers.dockerclient.DockerClientProviderStrategy — не удалось найти действительную среду Docker. Пожалуйста, проверьте конфигурацию. Были предприняты попытки настройки:
2
18:30:58.746 [main] ОШИБКА org.testcontainers.dockerclient.DockerClientProviderStrategy — UnixSocketClientProviderStrategy: ошибка с исключением NoClassDefFoundError (не удалось инициализировать класс org.testcontainers.shaded.com.github) .dockerjava.core.DefaultObjectMapperHolder)
18:30:58.747 [main] ОШИБКА org.testcontainers.dockerclient.DockerClientProviderStrategy — поскольку допустимая конфигурация не найдена, выполнение не может быть продолжено
java.lang.IllegalStateException: не удалось найти допустимую среду Docker. Просмотрите журналы и проверьте конфигурацию
по адресу org.testcontainers.dockerclient.DockerClientProviderStrategy.lambda$getFirstValidStrategy$7(DockerClientProviderStrategy.java:215)
по адресу java.base/java.util.Optional.orElseThrow(Optional.java) :408)
в org.testcontainers.dockerclient.DockerClientProviderStrategy.getFirstValidStrategy(DockerClientProviderStrategy.java:207)
в org.testcontainers.DockerClientFactory.getOrInitializeStrategy(DockerClientFactory.java:136)
в org. testcontainers.DockerClientFactory.client(DockerClientFactory.java:178)
в org.testcontainers.LazyDockerClient.getDockerClient(LazyDockerClient.java:14)
в org.testcontainers.LazyDockerClient.authConfig(LazyDockerClient.java:12)
в org.testcontainers.containers.GenericContainer.start(GenericContainer.java:310)
в org.testcontainers.junit.jupiter.TestcontainersExtension$StoreAdapter.start(TestcontainersExtension.java:242)
в org.testcontainers.junit.jupiter.TestcontainersExtension$StoreAdapter.access$200(TestcontainersExtension.java:229)
at org.testcontainers.junit.jupiter.TestcontainersExtension.lambda$null$4(TestcontainersExtension.java:82)
at org.junit.jupiter.engine.execution.ExtensionValuesStore.lambda$getOrComputeIfAbsent$4(ExtensionValuesStore.java:86)
at org.junit.jupiter.engine.execution.ExtensionValuesStore$MemoizingSupplier.get(ExtensionValuesStore.java :205)
в org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue.evaluate(ExtensionValuesStore.java:182)
в org.junit.jupiter.engine.execution.ExtensionValuesStore$StoredValue.access $100(ExtensionValuesStore.java:171)
в org.junit.jupiter.engine.execution.ExtensionValuesStore.lambda$closeAllStoredCloseableValues$1(ExtensionValuesStore.java:65)
в java.base/java.util.stream .ReferencePipeline$2$1.accept(ReferencePipeline.java:176)
в java.base/java.util.concurrent.ConcurrentHashMap$ValueSpliterator.forEachRemaining(ConcurrentHashMap.java:3605)
в java.base/java .util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
в java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
в java.base/java .util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
на java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
в java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
в java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
в org.junit.jupiter.engine.execution.ExtensionValuesStore.closeAllStoredCloseableValues(ExtensionValuesStore.java:68)
в org.junit.jupiter.engine.descriptor.AbstractExtensionContext.close(AbstractExtensionContext.java:74)
в org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.close(JupiterEngineExecutionContext.java:53)
в org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.cleanUp(JupiterTestDescriptor.java:222)
в org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.cleanUp(TestMethodTestDescriptor.java:148)
в org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.cleanUp(TestMethodTestDescriptor.java:65)
в org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$cleanUp$9(NodeTestTask.java:155)
в org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java :73)
в org.junit.platform.engine.support.hierarchical.NodeTestTask.cleanUp(NodeTestTask.java:155)
в org.junit.platform.engine.support.hierarchical.NodeTestTask.execute (NodeTestTask.java:87)
в java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
в org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll (SameThreadHierarchicalTestExecutorService.java:38)
в org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursivity$5(NodeTestTask.java:143)
в org.junit.platform.engine. support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
в org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursivity$7(NodeTestTask.java:129)
в org .junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
на org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursically$8(NodeTestTask.java:127 )
в org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
в org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursically(NodeTestTask .java:126)
в org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
в java.base/java.util.ArrayList.forEach(ArrayList) .java:1541)
в org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
в org.junit.platform.engine.support.hierarchical.NodeTestTask .lambda$executeRecursivity$5(NodeTestTask.java:143)
в org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
в org.junit.platform. engine.support.hierarchical.NodeTestTask.lambda$executeRecursically$7(NodeTestTask.java:129)
на org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
в org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursily$8(NodeTestTask.java:127)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java :73)
в org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursically(NodeTestTask.java:126)
в org.junit.platform.engine.support.hierarchical.NodeTestTask.execute (NodeTestTask.java:84)
на org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
на org.junit.platform.engine.support.hierarchical .HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
на org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
на org.junit.platform.launcher .core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108)
в org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
в org.junit.platform.launcher .core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
в org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
в org.junit. Platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
в org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96)
в org.junit. Platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:84)
в org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98)
в org. eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)
на org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529)
в org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:756)
в org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452 )
на org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
- docker v20.10.5
- junit v5.7
- TestContainer v1.15.3
- jdk v11.0.10
Подробнее здесь: https://stackoverflow.com/questions/675 ... nment-plea