Этот вопрос уже существует в некотором роде, но существующий вопрос отсутствуют некоторые важные ссылки.
Я пытаюсь переместить конфигурацию bean-компонентов для своих тестов в отдельные файлы, которые заканчиваются на *TestsSpringBeans.groovy
Я попытался сделать это после прочтения "Загрузка Bean Definitions from the File System" (найдите его) в документации 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 = "[email protected]"
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 — получить bean-компонент somePlace
в рамках интеграционного теста...
При вызове getBean('somePlace')
в рамках теста отображается ошибка, в которой говорится, что No bean named 'somePlace' is defined
Файл CompanyServiceTests.groovy
хранится вместе с моими интеграционными тестами. Должен ли я хранить этот файл где-то еще в структуре каталогов проекта?