我的开发环境(JDK,Maven)在WSL2中设置。使用此设置,会导致测试失败
下面是构建过程的输出。
00:18:14.261 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.sudhirt.practice.testcontainers.repository.DatabaseTests] 00:18:14.263 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.sudhirt.practice.testcontainers.repository.DatabaseTests]
00:18:14.267 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.sudhirt.practice.testcontainers.repository.DatabaseTests] 00:18:14.268 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.sudhirt.practice.testcontainers.repository.DatabaseTests]
00:18:14.271 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [com.sudhirt.practice.testcontainers.repository.DatabaseTests]
00:18:14.272 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [com.sudhirt.practice.testcontainers.repository.DatabaseTests]
00:18:14.303 [main] DEBUG org.testcontainers.utility.TestcontainersConfiguration - Testcontainers configuration overrides will be loaded from file:/home/sudhirtumati/.testcontainers.properties
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.155 s <<< FAILURE! - in com.sudhirt.practice.testcontainers.repository.DatabaseTests
[ERROR] com.sudhirt.practice.testcontainers.repository.DatabaseTests Time elapsed: 1.151 s <<< ERROR! java.lang.ExceptionInInitializerError
at com.sudhirt.practice.testcontainers.repository.DatabaseTests.<clinit>(DatabaseTests.java:23)
[INFO]
[INFO] Results:
[INFO] [ERROR] Errors: [ERROR] DatabaseTests.com.sudhirt.practice.testcontainers.repository.DatabaseTests » ExceptionInInitializer [INFO] [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0 [INFO] [INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
DatabaseTests
的第23行是:
@ClassRule
public static OracleContainer oracleContainer = new OracleContainer();
完整的源代码可在github上获得。
是否有解决此问题的建议?
答案 0 :(得分:2)
摘自Oracle-XE Module的文档:
如果未将图像名称传递给
OracleContainer
构造函数,则应在配置中放置合适的图像名称。为此,请将文件放置在名为testcontainers.properties
的类路径上,其中包含oracle.container.image=IMAGE
,其中IMAGE
是合适的图像名称和标记。
在您的代码中,我什么都看不到。 new OracleContainer()
是不够的。