三、普通Web測(cè)試情形
在此,我們將回顧測(cè)試Web組件的普通情形以及怎樣在其中使用Spring的mock對(duì)象和JUnit框架擴(kuò)展。
(一)確定一個(gè)正確的視圖
基于輸入?yún)?shù)生成正確的視圖可能是在操作一個(gè)Web應(yīng)用程序時(shí)普通的功能。在Spring MVC的上下文中,這意味著Spring MVC將基于參數(shù)的狀態(tài)返回某種ModelAndView對(duì)象。你可以通過(guò)簡(jiǎn)單地利用如下的Mock對(duì)象以一個(gè)常規(guī)JUnit測(cè)試方式來(lái)測(cè)試這項(xiàng)功能:
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());
既然控制器很可能會(huì)利用一些服務(wù)對(duì)象來(lái)決定結(jié)果視圖,那么你還可以定制控制器中所用的這些mock服務(wù)對(duì)象。關(guān)于利用定制對(duì)象的更多資料,請(qǐng)參考mockobjects.com。