我知道您可以使用以下方法简单地在单元测试方法中注入服务:
defineBeans {
someService(SomeService)
}
但是当我需要在服务中注入服务时(该服务someService
称自己为另一个服务some2Service
)。当我使用上面的代码运行测试时,我收到:
Message: Cannot invoke method someMethod() on null object
是否可以在单元测试中将服务注入到服务中?
谢谢。;-)
我知道您可以使用以下方法简单地在单元测试方法中注入服务:
defineBeans {
someService(SomeService)
}
但是当我需要在服务中注入服务时(该服务someService
称自己为另一个服务some2Service
)。当我使用上面的代码运行测试时,我收到:
Message: Cannot invoke method someMethod() on null object
是否可以在单元测试中将服务注入到服务中?
谢谢。;-)
要在单元测试中使用 spring bean,您需要执行以下操作:
defineBeans
在闭包中包含测试所依赖的所有服务和其他 bean 。autowire
属性。true
例如:
defineBeans {
someService(SomeService) { bean ->
bean.autowire = true
}
some2Service(Some2Service)
}
您可以使用 ref 设置作为服务的成员变量
MyService(MyProvider) {
userDetailsService = ref("userDetailsService")
springSecurityService = ref("springSecurityService")
userService = ref("userService")
}
希望有帮助