我正在测试我的应用程序的服务,它依赖于运行时的其他服务.在测试时,依赖注入似乎不起作用.在运行集成测试时,依赖注入是否适用于Grails伪像?
是的,在运行测试时(即集成目录中的那些测试),应用程序启动并创建并注入所有bean,就像应用程序实际运行一样.测试应用程序和正在运行的应用程序之间的唯一区别应该是配置环境.
当然,如果您在测试中使用“new”运算符实例化需要注入的类,则无法获得DI的好处.相反,在测试用例中为您的测试创建一个属性,它将被注入:
class MyServiceTests extends GrailsUnitTestCase { MyService service void testInjection() { assertNotNull service } }