如何运行使用测试资源而不是主要资源的Java应用程序?

时间:2018-08-22 07:42:52

标签: java maven

我已经用Spring Boot开发了一个CRUD应用程序。在生产环境中,我们运行一个SQL数据库。为了测试数据层,我们使用H2作为数据库。要在运行测试时将H2用作数据库,我们在\test\resources\application.yml中指定了以下内容:

  datasource:
    url: jdbc:h2:mem:test;MODE=MSSQLServer
    driver-class-name: org.h2.Driver
    platform: h2
    username: sa
    password: sa
  jpa:
    generate-ddl: false
    hibernate:
      ddl-auto: validate
    show-sql: true

我想使用maven测试范围并使用测试资源而不是main资源来构建/运行应用程序的版本。无需手动复制/粘贴就可以吗?最好使用maven或Intellij运行配置。

2 个答案:

答案 0 :(得分:1)

  • 您可以在yml / properties配置(spring.profiles.active)中添加活动的配置文件
  • 您可以将@Profile("test")添加到组件中
  • 或者在代码中,您可以调用SpringApplication.setAdditionalProfiles()来让您的应用程序以特定的配置文件运行

看看文档Springboot profiles.

答案 1 :(得分:0)

您可以使用配置文件进行操作。 在主要资源中创建一个application-test.yml。使用配置文件“ test”执行Main,并使用该配置文件运行单元测试