Переопределение конфигурации источника данных Grails во время интеграционного теста - PullRequest
0 голосов
/ 09 марта 2019

Я пишу интеграционный тест для приложения Grails.Тест создает схему базы данных и пользователя базы данных динамически для теста и разбирает его в конце.

Я хотел бы применить вновь созданные значения к тестируемому приложению вместо значений, настроенных в application.yaml.

  1. Я пытался ввести grailsApplication ,но в тесте интеграции Спока оно пустое.
  2. defaultGrailsApp Я могу изменить реквизиты, но приложение не принимает новые свойства

MyТест выглядит следующим образом (код psedo):

@Integration
@Rollback
class MyServiceSpec extends Specification {

@Autowired
MyService mySvc

def setupSpec() {
   //create  db user
   // create db schema
   //grant permissions
}
def cleanupSpec() {
  // delete test user
  // delete schema
}

void 'Test MyService'() {
   when:
    mySvc.createReport(job)

    then:
    // check db for valid state
 }

Есть ли способ программно переопределить свойства application.yml в Grails и переопределить конфигурацию источника данных?

ОБНОВЛЕНИЕ 1: Можно ли добавить шпион в источник данных, чтобы я мог предоставить свою собственную реализацию во время выполнения?Я немного новичок в Grails / Groovy, есть ли у кого-нибудь знакомое с исходным кодом, чтобы понять это?

...