Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何运行使用测试资源而不是主要资源的Java应用程序?_Java_Maven - Fatal编程技术网

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

如何运行使用测试资源而不是主要资源的Java应用程序?,java,maven,Java,Maven,我用Spring Boot开发了一个CRUD应用程序。在生产环境中,我们运行SQL数据库。为了测试我们用作数据库的数据层。为了在运行测试时使用H2作为数据库,我们在\test\resources\application.yml中指定了以下内容: datasource: url: jdbc:h2:mem:test;MODE=MSSQLServer driver-class-name: org.h2.Driver platform: h2 username: sa

我用Spring Boot开发了一个CRUD应用程序。在生产环境中,我们运行SQL数据库。为了测试我们用作数据库的数据层。为了在运行测试时使用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运行配置。

您可以使用配置文件进行配置。 在主资源中创建application-test.yml。使用配置文件“test”执行Main,并使用该配置文件运行单元测试
  • 您可以在yml/properties配置中添加活动配置文件(
    spring.profiles.active
  • 您可以将
    @Profile(“test”)
    添加到组件中
  • 或者在代码中,您可以调用
    SpringApplication.setAdditionalProfiles()
    ,让您的应用程序使用特定的配置文件运行
  • 看看医生