我正在尝试为我的控制器运行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测试类中创建的自动装配字段吗?