testcontainers - 由于测试失败,maven 构建失败
testcontainers - maven build fails due to test failures
我的开发环境(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 上找到。
有什么解决这个问题的建议吗?
来自 Oracle-XE Module 的文档:
If you do not pass an image name to the OracleContainer
constructor, a suitable image name should be placed in configuration instead. To do this, please place a file on the classpath named testcontainers.properties
, containing oracle.container.image=IMAGE
, where IMAGE
is a suitable image name and tag.
我在您的代码中没有看到任何执行此操作的内容。 new OracleContainer()
不够。
我的开发环境(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 上找到。
有什么解决这个问题的建议吗?
来自 Oracle-XE Module 的文档:
If you do not pass an image name to the
OracleContainer
constructor, a suitable image name should be placed in configuration instead. To do this, please place a file on the classpath namedtestcontainers.properties
, containingoracle.container.image=IMAGE
, whereIMAGE
is a suitable image name and tag.
我在您的代码中没有看到任何执行此操作的内容。 new OracleContainer()
不够。