JUnitѧϰ±Ê¼Ç16 ÓÃJSPºÍtaglib½øÐе¥Ôª²âÊÔ3
ÓÃmock objects¶Ôtaglib½øÐе¥Ôª²âÊÔ ÒòΪJSP²»ÊÇ´¿´âµÄjava´úÂ룬ËùÒÔ£¬Ê¹ÓÃmock½øÐвâÊÔÊÇÐв»Í¨µÄ£¬µ«ÊÇ£¬taglibÈ´ÊÇ´¿´âµÄjava´úÂ룬¿ÉÒÔ²âÊÔ£¬µ«ÊÇËüÒ²ÓÐÂé·³µÄµØ·½£¬ÎÒÃÇҪΪ³éÏóµÄjavaÀàµÄPageContext´´½¨mocks¡£ ÔÚÇ°Ãæ£¬ÎÒÃÇÔøÑ§Ï°ÁËʹÓÃEasyMockºÍDynaMockµÄ¿ò¼ÜÀ´´´½¨mock£¬µ«ÊÇ£¬ËûÃÇʹÓõÄÊÇDynamic ProxyÌØÐÔ£¬ËûÃÇÖ»ÄÜΪ½Ó¿Ú²úÉú´úÀí£¬²»ÄÜÓÃÓÚÀà¡£Õâ´Î£¬ÎÒÃÇʹÓÃMockMaker¡£ °²×°²å¼þµÄµØÖ·ÊÇhttp://mockmaker.org/ °²×°µÄ·½·¨¼òµ¥£¬Google£¡ÏÂÃæ½öѧϰһÏÂÓ÷¨¡£ ÔÚÒªmockµÄÀàÉÏÓÒ¼ü£¬Ñ¡ÔñMockMaker—>select package ÕâÑù¾ÍÔÚÄãÑ¡ÔñµÄλÖÃÉú³ÉÁËmock³ÌÐò¡£ ÏÖÔÚÈÃÎÒÃÇΪDynaPropertiesTagÀàдһ¸ömock²âÊÔ³ÌÐò¡£ package junitbook.pages;
import junit.framework.TestCase;
import org.apache.commons.beanutils.DynaBean;
import org.apache.commons.beanutils.DynaProperty;
import org.apache.commons.beanutils.BasicDynaClass;
import javax.servlet.jsp.tagext.Tag;
public class TestDynaPropertiesMO extends TestCase
{
private DynaPropertiesTag tag;
private MockPageContext mockPageContext;
private DynaBean createDynaBean() throws Exception
{
DynaProperty[] props = new DynaProperty[] {
new DynaProperty("id", String.class),
new DynaProperty("responsetime", Long.class)
};
BasicDynaClass dynaClass = new BasicDynaClass("requesttime",
null, props);
DynaBean bean = dynaClass.newInstance();
bean.set("id", "12345");
bean.set("responsetime", new Long(500));
return bean;
}
protected void setUp()
{
tag = new DynaPropertiesTag();
mockPageContext = new MockPageContext();
tag.setPageContext(mockPageContext);
}
public void testDoStartTag() throws Exception
{
DynaBean bean = createDynaBean();
mockPageContext.setupFindAttribute(bean);
mockPageContext.addExpectedFindAttributeValues("item");
mockPageContext.addExpectedSetAttributeStringObjectValues(
Ïà¹ØÎĵµ£º
ÒòΪҪʵÏÖÒ»¸öWebServer£¬Ð´ÍêÁËÒ»¸ö¼òµ¥µÄWebServerºóÍ»·¢ÆæÏ룬ºÎ²»ÊµÏÖÒ»¸öJSP µÄWebServerÄØ£¿
ÓÐÁËÕâ¸öÏë·¨ºó£¬¾Í¿ªÊ¼¿¼ÂÇJSPµÄʵÏÖÔÀí£¬ÆäʵJSPµÄʵÏÖÒ²ºÜ¼òµ¥£¬Ëµ°×Á˾ÍÊǽ«Æäת»»³ÉÒ»¸öJavaÎļþ£¬ÔÙ¶ÔÕâ¸öJavaÎļþ½øÐбàÒ룬Éú³ÉÀàÎļþ£¬½Ó×ÅÔÙÓÉ·þÎñÆ÷ʹÓÃÕâ¸öÀàÎļþ¡£´Ó×ÜÌåÉÏ·Ö£¬¿ÉÒÔ½«JSPÎļþµÄÄÚÈÝ»®·ÖΪÁ½ ......
JSPÄÚ½¨¶ÔÏó- -
¢Ù out - javax.servlet.jsp.jspWriter
out¶Ô ......
ΪʲôGenericServletÔÚinit(ServletConfig config)»ù´¡ÉÏÔö¼ÓÁËÒ»¸öinit()·½·¨£¿
init()·½·¨±»GenericServlet.init(ServletConfig config)·½·¨µ÷Óá£
init()·½·¨·½±ãÁË¿ª·¢ÈËÔ±¶¨ÖÆServletµÄ³õʼ»¯£¬¶øÎÞÐëȥά»¤ServletConfig¶ÔÏóµÄ´æ´¢¹¤×÷¡£
ÖØÐ´GenericServlet.init(ServletConfig config)±ØÐëÒªÏÔʾµÄµ÷ÓÃsuper ......
Perl¡¢PHP¡¢ASP¡¢JSP¼¼Êõ±È½Ï
±¾ÎĽ«¶ÔĿǰ×î³£ÓõÄËÄÖÖ¶¯Ì¬ÍøÒ³ÓïÑÔPerl£¨Practical Extraction and Report Language£©¡¢PHP£¨Hypertext Preprocessor£©¡¢ASP£¨Active Server Pages£©¡¢JSP£¨JavaServer Pages£©½øÐÐһЩ¼¼ÊõÐԵıȽϡ£
¡¡¡¡Perl
¡¡¡¡Perl£¨Practical Extraction and Report Language£©ÊÇÒ»ÖֺܹÅÀϵĽű ......
JSPÔʼ´úÂëÖаüº¬ÁËJSPÔªËØºÍTemplate(Ä£°å) dataÁ½Àà
Template dataÖ¸µÄÊÇJSPÒýÇæ²»´¦ÀíµÄ²¿·Ö£¬¼´±ê¼Ç<%……%>ÒÔÍâµÄ²¿·Ö£¬
ÀýÈç´úÂëÖеÄHTMLµÄÄÚÈÝµÈ £¬ÕâЩÊý¾Ý»áÖ±½Ó´«Ë͵½¿Í»§¶ËµÄä¯ÀÀÆ÷
JSPÔªËØÔòÊÇÖ¸½«ÓÉJSPÒýÇæÖ±½Ó´¦ÀíµÄ²¿·Ö£¬ÕâÒ»²¿·Ö±ØÐë·ûºÏJSPÓï·¨£¬
·ñÔò»áµ¼Ö±àÒë´íÎó¡£
¶ ......