【发布时间】:2011-12-01 01:03:34
【问题描述】:
此问题already exists in a way,但现有问题缺少一些重要链接。
我正在尝试将用于测试的 bean 配置移动到以 *TestsSpringBeans.groovy 结尾的单独文件中
我在阅读 Groovy 文档中的 "Loading Bean Definitions from the File System"(搜索它)后尝试这样做。
以下是相关代码段:
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 - 为集成测试定义一个 bean
// 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 文件与我的集成测试一起存储,我应该将此文件存储在项目目录结构中的其他位置吗?
【问题讨论】:
标签: spring grails dependency-injection spring-dsl