这个问题在某种程度上已经存在,但是现有的问题缺少一些重要的链接。
我正在尝试将用于测试的 bean 配置移动到以*TestsSpringBeans.groovy
在阅读 Groovy 文档中的“从文件系统加载 Bean 定义”(搜索它) 后,我尝试执行此操作。
以下是相关的代码段:
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.groovysomePlace
- 获取集成测试中的 bean ...
在测试中调用时getBean('somePlace')
,会显示一个错误,内容为 No bean named 'somePlace' is defined
该CompanyServiceTests.groovy
文件与我的集成测试一起存储,我应该将此文件存储在项目目录结构中的其他位置吗?