使用自动装配时,Junit测试失败

时间:2014-07-18 11:17:18

标签: spring junit4

我正在尝试为我的控制器运行JUnit测试,该控制器有2个自动装配的字段。 在运行它时,我在此对象上获得空指针异常,因此无法执行。我是Spring JUnit测试的新手。

我尝试了之前发布的与JUNIT相关的几乎所有组合。它们都不起作用。  helper和model是我测试中使用的两个自动连接字段。我的测试转到控制器并因空指针异常而失败。对象助手存在于我的Test类中,但在控制器中为null。   任何人都可以帮助我找到解决方案。以下是我的代码

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "xml/applicationContext.xml"})
@WebAppConfiguration
public class XYZTest  { 

WebApplicationContext webApplicationContext;

@Autowired
@Qualifier("helper")
Helper helper;

@Autowired
@Qualifier("model")
Model myModel;
DispatcherPortlet dispatcherPortlet;
@Test
public void testInitialize() throws Exception {
    DispatcherPortlet portlet = new DispatcherPortlet() {
        protected ApplicationContext createPortletApplicationContext(ApplicationContext parent) throws BeansException {
            GenericWebApplicationContext wac = new GenericWebApplicationContext();
            wac.registerBeanDefinition("controller", new RootBeanDefinition(ExplanationOfBenefitController.class));
            wac.refresh();
            return wac;
        }
    };
    portlet.init(new MockPortletConfig());

    MockRenderRequest request = new MockRenderRequest(PortletMode.VIEW);
    MockRenderResponse response = new MockRenderResponse();
    //System.out.println("helper:"+helper);
    portlet.render(request, response);
    assertEquals("tableJSP", response.getContentAsString());
 }
}

我可以在控制器中使用在JUNIT测试类中创建的自动装配字段吗?

0 个答案:

没有答案