【问题标题】:Unable to load application.properties file @DataJpaTest annotation无法加载 application.properties 文件 @DataJpaTest 注释
【发布时间】:2019-12-12 04:49:58
【问题描述】:

我正在尝试在 spring boot 项目中加载 application.properties 以进行测试。我正在使用 @DataJpaAnnotation 以及我的自定义 application.properties 文件。

这是我的示例配置


@DataJpaTest
@RunWith(SpringRunner.class)
@SqlGroup({
        @Sql(executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, scripts = {
                "classpath:sql/dont-use-cascadeType-remove/before.sql" }),
        @Sql(executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, scripts = {
                "classpath:sql/dont-use-cascadeType-remove/after.sql" }) })
@TestPropertySource(locations = { "classpath:application.properties" })
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
@Slf4j
public class BookCategoryRepositoryTest {

我能够成功执行测试用例,但是当我验证日志时 我的应用程序使用的是嵌入的 H2 Db URL,而不是我提到的那个 在 application.properties 文件中。

从我找到的日志中

embedded database: url='jdbc:h2:mem:69b49362-3f83-4e79-9f35-b0deb5e744f2;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=false', username='sa' 

我的属性文件包含

spring.datasource.url=jdbc:p6spy:mem:jpa-best-practices;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.username=db-user
spring.datasource.password=db-password

不知道为什么会发生,我无法找到解决方案。请帮忙。

【问题讨论】:

    标签: spring spring-boot spring-data-jpa spring-data spring-boot-test


    【解决方案1】:

    你只需要注释你的测试

    @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
    

    作为documented

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-08
      • 2016-07-30
      • 2020-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多