三、普通Web測試情形
在此,我們將回顧測試Web組件的普通情形以及怎樣在其中使用Spring的mock對象和JUnit框架擴(kuò)展。
(一)確定一個正確的視圖
基于輸入?yún)?shù)生成正確的視圖可能是在操作一個Web應(yīng)用程序時普通的功能。在Spring MVC的上下文中,這意味著Spring MVC將基于參數(shù)的狀態(tài)返回某種ModelAndView對象。你可以通過簡單地利用如下的Mock對象以一個常規(guī)JUnit測試方式來測試這項功能:
public void final testGettingToDetails throws Exception{
MyController myController = new MyController();
myController.setDetailsView( detailsViewName );
MockHttpServletRequest request = new MockHttpServletRequest();
MockHttpServletResponse response = new MockHttpServletResponse();
request.setMethod("POST");
request.addParameter("viewDetails", "true");
ModelAndView modelAndView = myController.handleRequest(request, response);
assertEquals("Incorrect view name", detailsViewName,modelAndView.getViewName());
既然控制器很可能會利用一些服務(wù)對象來決定結(jié)果視圖,那么你還可以定制控制器中所用的這些mock服務(wù)對象。關(guān)于利用定制對象的更多資料,請參考mockobjects.com。