Этот вопрос уже существует в некотором смысле , но в существующем вопросе отсутствуют некоторые важные ссылки.
Я пытаюсь переместить конфигурацию компонентов для моих тестов в отдельные файлы, которыеконец *TestsSpringBeans.groovy
Я попытался сделать это после прочтения «Загрузка определений бина из файловой системы» (поиск по нему) в документации Groovy.
Вот соответствующие сегменты кода:
import grails.util.*
beans = {
...
switch(Environment.current) {
case Environment.TEST:
loadBeans("classpath:*TestsSpringBeans.groovy")
break
}
}
resources.groovy - загрузка файлов * TestSpringBeans из файловой системы.
somePlace(jobdb.Company) {
name = "SomeCompany"
addr1 = "addr1"
addr2 = "addr2"
city = "city"
email = "somedude@h0tmail.com"
fax = "555-555-5555"
phone = "444-444-4444"
state = "PA"
zip = "19608"
version: 0
created = new Date()
updated = new Date()
website = "http://www.yahoo.com"
deleted = false
}
CompanyServiceTestsSpringBeans.groovy - Определение компонента для интеграционного теста
// Retrieve configured bean from
Company someplace = ApplicationHolder.getApplication().getMainContext().getBean('somePlace')
CompanyServiceTests.groovy - Получение компонента somePlace
в рамках теста интеграции...
При вызове getBean('somePlace')
в тесте отображается ошибка, которая гласит, что No bean named 'somePlace' is defined
Файл CompanyServiceTests.groovy
сохраняется с моими интеграционными тестами, если я буду хранить этофайл где-то еще в структуре каталогов проекта?