在SSM框架下进行测试时遇到的几个坑:
1、SSM在进行单元测试时,由于没有web对spring的监听,所以需要手动启动spring容器,这里采用注解的方式启动(junit测试spring注入的两种方法)
@ContextConfiguration(locations="classpath:applicationContext_dao.xml")
2、另外,还需要注明,让测试运行于Spring测试环境
@RunWith(SpringJUnit4ClassRunner.class)
3、当测试中有session时,需要是一个拥有web应用必要功能的ApplicationContext,加入注解
@WebAppConfiguration
4、request、session、response可以直接注入
@Autowired
MockHttpServletRequest request;
@Autowired
MockHttpSession session;
@Autowired
MockHttpServletResponse response;
5、如果单元测试中包括Model,则需要在xml中配置Model实现类的bean,Model的实现类为ExtendedModelMap