使用@Autowired字段测试Spring Controller,为字段返回null但获取控制器

时间:2013-06-12 14:11:22

标签: java dependency-injection spring-test-mvc

嗨,我有一个我试图测试的控制器,没有嘲笑。

@Controller
public class MyController
{
    @Autowired
    private Type1 service1;

    @Autowired
    private Type2 service2;

    ....
} 

测试类:

public class testController
{
    @Autowired
    private MyController controller;

    @Before
    public void setUp()
    {
        //setupStuff

    }

    @Test
    public void testControllerMethod()
    {
        //Test method
    }

}

通过测试调试时,我得到了控制器的值,但是自动服务的service1和2的值为null。

xml文件确实包含<context: component-scan>

中所有服务和控制器的基础包

如果删除它会让我错误地创建bean。即使我删除了其中一个服务基础包。

我需要在配置中添加任何特定的测试吗?

Type1:

public interface Type1
{
    String method1();
    String method2();
}

实现自动装配的类的Type1是:

@Service
public class Type1Class implements Type1
{
    @Autowired
    private Type3 service3;

    //Methods implementatoin of Type1
}



Type2 is similar to this.

0 个答案:

没有答案