我正在尝试为注入Spring bean的服务编写集成测试。春豆在resources.groovy
中定义。我的服务正在使用的bean似乎没有在我的集成测试中注入,但当我运行grails run-app
时它被注入正常。从resources.groovy注入Spring Beans到Grails 3服务的集成测试
这里是一个最小的失败例如:
grails-app/conf/spring/resources.groovy
beans = {
myBean(Object){}
}
grails-app/services/MyService.groovy
class MyService {
def myBean
def serviceMethod(){
myBean.class.simpleName
}
}
grails-app/src/integration-test/groovy/MyServiceSpec.groovy
@Integration
class MyServiceSpec extends Specification {
def myService
when:
def myBean = myService.myBean
then:
myBean != null
}
个Grails的版本信息:
$ grails -v
| Grails Version: 3.1.9
| Groovy Version: 2.4.7
| JVM Version: 1.8.0_92
更新:
春天似乎注入其他服务就好了。如果我在MyService
内声明另一项服务,它会被注入。
class MyService {
def myBean
def myOtherService
def serviceMethod(){
myBean.class.simpleName
}
}
集成不应该看起来像你有什么。添加一个测试用例,然后使用'when'和'then'。 – dmahapatro
你是什么意思“集成不应该看起来像你有什么”。我的测试用例确实有,然后... –
你好。这个问题有什么好运?你有没有找到任何方法使其工作,或解决方法? – Seagull