对基于Sprig框架的J2EE MVC Web组件测试.docVIP

  • 1
  • 0
  • 约7.11千字
  • 约 8页
  • 2016-10-17 发布于贵州
  • 举报
对基于Sprig框架的J2EE MVC Web组件测试

对基于Spring框架的J2EE MVC组件测试—没有涉及HttpServletRequest等容器的对象时 对Spring MVC的控制器组件进行测试 (1)以“在JBUilder 中创建Spring的MVC Web应用+UserLogin(1).doc”一文中的控制器作为测试目标类 (2)测试设计的目标容器外的单元测试 毫无疑问,我们的UserLoginController控制器类必须从HttpServletRequest中取得用户的表单数据,然而如果这么设计的话,我们的TestCase勢必与Servlet容器相依赖,因而无法独立地进行容器外的单元测试,而应该是“容器内的单元测试”。 为了能独立于容器进行单元测试,我们设计了一个UserLoginForm?,它负责存储HttpServletRequest中的表单的登录数据,而UserLoginController上拥有一个onSubmit()方法,专门负责处理UserLoginForm对象并返回一个ModelAndView对象。 2、新建一个TestSpringMVCFormController项目(对前面的测试采用两个Project的方式来进行测试) 3、配置该项目 (1)引入Spring的系统包 (2)引入被测试的项目 (3)引入被测试类文件UserLoginController.java 4、为前面的UserLoginController提纲一个测试用例类 TestUserLoginController,springwebappttest,基类为junit.framework.TestCase 再进入下一步,将出现下面的内容 但JBuilder出现一个错误! 错误的原因是由于我们控制层组件类中的onSubmit方法为protected类型。 protected ModelAndView onSubmit(Object formBean) throws Exception { } 因此,为了能够对它进行测试,我们需要将它从protected类型改变为public类型 public ModelAndView onSubmit(Object formBean) throws Exception { } 5、编程它: package springwebappttest; import junit.framework.*; import springwebapp.*; import org.springframework.web.servlet.*; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; public class TestUserLoginController extends TestCase { private UserLoginController userLoginController = null; private UserLoginForm userLoginForm; protected void setUp() throws Exception { super.setUp(); //下面根据实际改变,同时还应该注意“userLoginController”的定义是在那个*.xml文件中 /* String springXMLFilePath=E:/SpringWebApp+UserLogin/SpringWeb/WEB-INF/springapp-servlet.xml; */ String springXMLFilePath =D:/JUnitExmp/SpringWebApp+UserLogin/SpringMVCWeb/WEB-INF/userManager.xml; ApplicationContext applicationContext = new FileSystemXmlApplicationContext(springXMLFilePath); userLoginController = (UserLoginController) applicationContext.getBean(userLoginController); userLoginForm = new UserLoginForm(); } protected void tearDown() thro

文档评论(0)

1亿VIP精品文档

相关文档