testcontainers-由于测试失败,Maven构建失败

时间:2019-09-15 14:41:15

标签: java oracle testcontainers

我的开发环境(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上获得。

是否有解决此问题的建议?

1 个答案:

答案 0 :(得分:2)

摘自Oracle-XE Module的文档:

  

如果未将图像名称传递给OracleContainer构造函数,则应在配置中放置合适的图像名称。为此,请将文件放置在名为testcontainers.properties的类路径上,其中包含oracle.container.image=IMAGE,其中IMAGE是合适的图像名称和标记。

在您的代码中,我什么都看不到。 new OracleContainer()是不够的。