Интеграционное тестирование Grails по умолчанию создает источник данных с использованием H2 вместо конфигурации источника данных из среды TEST - PullRequest
1 голос
/ 16 апреля 2020

Я перепробовал все и все имеющиеся предложения.

Проблема: я пытаюсь написать интеграционные тесты для приложения на основе Grails, но во время выполнения тестов по умолчанию выбирается H2 db для создания источника данных вместо используя конфигурацию БД из тестовой среды внутри application.yml

Используемая команда: grails -Dgrails-env = тестовое приложение-тест-интеграция

Версия: grails = 4.0.1 gorm = 7.0.2.RELEASE

application.yml

---
grails:
  profile: web
  codegen:
    defaultPackage: myApp
  gorm:
    autowire: true
    reactor:
      # Whether to translate GORM events into Reactor events
      # Disabled by default for performance reasons
      events: false
info:
  app:
    name: "my-grails-app"
    version: "0.0.10"
    grailsVersion: '4.0.1'
spring:
  jmx:
    unique-names: true
  main:
    banner-mode: "off"
  groovy:
    template:
      check-template-location: false
  devtools:
    restart:
      additional-exclude:
        - '*.gsp'
        - '**/*.gsp'
        - '*.gson'
        - '**/*.gson'
        - 'logback.groovy'
        - '*.properties'
management:
  endpoints:
    enabled-by-default: false

---
grails:
  mime:
    disable:
      accept:
        header:
          userAgents:
            - Gecko
            - WebKit
            - Presto
            - Trident
    types:
      all: '*/*'
      atom: application/atom+xml
      css: text/css
      csv: text/csv
      form: application/x-www-form-urlencoded
      html:
        - text/html
        - application/xhtml+xml
      js: text/javascript
      json:
        - application/json
        - text/json
      multipartForm: multipart/form-data
      pdf: application/pdf
      rss: application/rss+xml
      text: text/plain
      hal:
        - application/hal+json
        - application/hal+xml
      xml:
        - text/xml
        - application/xml
  urlmapping:
    cache:
      maxsize: 1000
  controllers:
    defaultScope: singleton
  converters:
    encoding: UTF-8
  views:
    default:
      codec: html
    gsp:
      encoding: UTF-8
      htmlcodec: xml
      codecs:
        expression: html
        scriptlet: html
        taglib: none
        staticparts: none
management:
  endpoints:
    jmx:
      unique-names: true

---
hibernate:
  cache:
    queries: false
    use_second_level_cache: false
    use_query_cache: false
  #        cache.provider_class: 'org.hibernate.cache.EhCacheProvider'
  lazy: false
  max_fetch_depth: '5'

environments:
  development:
    datasource:
      pooled: true
      dbCreate: update
      driverClassName: 'com.mysql.jdbc.Driver'
      url: 'jdbc:mysql://127.0.0.1:3306/mysqlDB_dev?useLegacyDatetimeCode=false&serverTimezone=UTC'
      username: 'root'
      password: 'root'
      logSql: true
    validationQuery: "SELECT 1"
  test:
    datasource:
      pooled: true
      dbCreate: create-drop
      driverClassName: 'com.mysql.jdbc.Driver'
      url: 'jdbc:mysql://127.0.0.1:3306/mysqlDB_test?useLegacyDatetimeCode=false&serverTimezone=UTC'
      username: 'root'
      password: 'root'
      logSql: true
  production:
    datasource:
      pooled: true
      dbCreate: update
      driverClassName: 'com.mysql.jdbc.Driver'
      url: 'jdbc:mysql://127.0.0.1:3306/mysqlDB_prod?useLegacyDatetimeCode=false&serverTimezone=UTC'
      username: 'xxxxx'
      password: 'xxxxx'
      logSql: true
      validationQuery: "SELECT 1"
      properties:
        jmxEnabled: true
        initialSize: 5
        maxActive: 50
        minIdle: 5
        maxIdle: 25
        maxWait: 10000
        maxAge: 600000
        timeBetweenEvictionRunsMillis: 5000
        minEvictableIdleTimeMillis: 60000
        validationQuery: SELECT 1
        validationQueryTimeout: 3
        validationInterval: 15000
        testOnBorrow: true
        testWhileIdle: true
        testOnReturn: false
        jdbcInterceptors: ConnectionState
        defaultTransactionIsolation: 2 # TRANSACTION_READ_COMMITTED


...