You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarkus测试启动失败:默认数据源未配置问题求助

解决Quarkus测试时“Datasource '' is not configured”报错

核心排查与解决步骤

1. 确认测试环境配置文件有效性

  • 检查src/test/resources目录下是否存在application-test.yml(或.properties)文件,Quarkus测试默认使用test Profile,不会自动继承dev环境配置。
  • 核对测试配置的核心数据源项,确保YAML语法/缩进正确:
    quarkus:
      datasource:
        db-kind: h2
        username: sa
        password: ""
        jdbc:
          url: jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
      liquibase:
        change-log: db/changelog/db.changelog-master.xml
    

2. 检查依赖配置完整性

  • 确保pom.xml中已引入必要依赖,无scope错误:
    <!-- H2数据库驱动 -->
    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-jdbc-h2</artifactId>
    </dependency>
    <!-- Liquibase扩展 -->
    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-liquibase</artifactId>
    </dependency>
    <!-- Quarkus测试核心依赖 -->
    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-junit5</artifactId>
        <scope>test</scope>
    </dependency>
    
    注意:H2依赖不要错误设置为test scope,否则会导致测试环境加载异常。

3. 验证测试类注解配置

  • 确保测试类添加@QuarkusTest注解(启动Quarkus测试容器的必要条件):
    import io.quarkus.test.junit.QuarkusTest;
    import org.junit.jupiter.api.Test;
    
    @QuarkusTest
    public class YourServiceTest {
        @Test
        public void testBusinessLogic() {
            // 测试逻辑
        }
    }
    
  • 若自定义了测试Profile,需确保对应配置文件存在且关联正确。

4. 规范Maven测试执行

  • 执行测试时显式指定测试Profile,避免环境混淆:
    mvn quarkus:test -Dquarkus.profile=test
    
  • 验证target/test-classes目录下是否存在application-test.yml,确认Maven已正确复制测试资源。

5. 对比正常项目差异

  • 将当前项目的pom.xml依赖、配置文件、测试类与之前可正常运行的项目逐一对比,重点排查:
    • 是否遗漏Quarkus扩展依赖
    • 配置项是否存在拼写/层级错误
    • Liquibase的changelog文件路径是否一致

6. Liquibase相关排查

  • 确保quarkus.liquibase.enabled在测试环境未被设置为false(默认开启)
  • 确认Liquibase的changelog文件路径配置正确,测试环境可正常访问该文件

内容的提问来源于stack exchange,提问作者DolphieDude

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 05:34:52