我在单元测试中使用 SpringJUnit4ClassRunner 并且测试可以正确访问自动装配的 bean(模拟服务)。
它如何测试也与服务对话的作业。该作业还具有自动装配的 bean。
遗憾的是,在测试中的“new Job().execute(...)”调用中,Job 中的自动装配服务为空。
谁能建议/猜猜出了什么问题!?
不是由 Spring 创建和管理的实例不会被 Spring 注入它们的依赖项(除非你应用了一些AspectJ 魔法)。
由于Job
实例是由应用程序创建的,因此您必须手动注入其依赖项。只需设置模拟,或Job
在测试类中自动装配所需的 bean 并将它们传递给新创建的实例。