锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲视频在线观看网站,亚洲爆乳无码一区二区三区,亚洲avav天堂av在线网爱情http://www.tkk7.com/zhangzhong1018/category/25549.htmlstudy ruby on railszh-cnFri, 19 Oct 2007 03:36:39 GMTFri, 19 Oct 2007 03:36:39 GMT60HttpUnit榪涜闆嗘垚嫻嬭瘯http://www.tkk7.com/zhangzhong1018/articles/153254.htmlleolileoliTue, 16 Oct 2007 06:07:00 GMThttp://www.tkk7.com/zhangzhong1018/articles/153254.htmlhttp://www.tkk7.com/zhangzhong1018/comments/153254.htmlhttp://www.tkk7.com/zhangzhong1018/articles/153254.html#Feedback0http://www.tkk7.com/zhangzhong1018/comments/commentRss/153254.htmlhttp://www.tkk7.com/zhangzhong1018/services/trackbacks/153254.html 

鍐呭鎽樿

HttpUnit鏄竴涓泦鎴愭祴璇曞伐鍏鳳紝涓昏鍏蟲敞Web搴旂敤鐨勬祴璇曪紝鎻愪緵鐨勫府鍔╃被璁╂祴璇曡呭彲浠ラ氳繃Java綾誨拰鏈嶅姟鍣ㄨ繘琛屼氦浜掞紝騫朵笖灝嗘湇鍔″櫒绔殑鍝嶅簲褰撲綔鏂囨湰鎴栬匘OM瀵硅薄榪涜澶勭悊銆侶ttpUnit榪樻彁渚涗簡涓涓ā鎷烻ervlet瀹瑰櫒錛岃浣犲彲浠ヤ笉闇瑕佸彂甯僑ervlet錛屽氨鍙互瀵筍ervlet鐨勫唴閮ㄤ唬鐮佽繘琛屾祴璇曘傛湰鏂囦腑浣滆呭皢璇︾粏鐨勪粙緇嶅浣曚嬌鐢℉ttpUnit鎻愪緵鐨勭被瀹屾垚闆嗘垚嫻嬭瘯銆?/p>

1  HttpUnit綆浠?/strong>

HttpUnit鏄疭ourceForge涓嬮潰鐨勪竴涓紑婧愰」鐩紝瀹冩槸鍩轟簬JUnit鐨勪竴涓祴璇曟鏋訛紝涓昏鍏蟲敞浜庢祴璇昗eb搴旂敤錛岃В鍐充嬌鐢↗Unit妗嗘灦鏃犳硶瀵硅繙紼媁eb鍐呭榪涜嫻嬭瘯鐨勫紛绔傚綋鍓嶇殑鏈鏂扮増鏈槸1.5.4銆備負浜嗚HtpUnit姝e父榪愯錛屼綘搴旇瀹夎JDK1.3.1鎴栬呬互涓婄増鏈?/p>

1.1  宸ヤ綔鍘熺悊

HttpUnit閫氳繃妯℃嫙嫻忚鍣ㄧ殑琛屼負錛屽鐞嗛〉闈㈡鏋訛紙frames錛?cookies,欏甸潰璺寵漿錛坮edirects錛夌瓑銆傞氳繃HttpUnit鎻愪緵鐨勫姛鑳斤紝浣犲彲浠ュ拰鏈嶅姟鍣ㄧ榪涜淇℃伅浜や簰錛屽皢榪斿洖鐨勭綉欏靛唴瀹逛綔涓烘櫘閫氭枃鏈乆ML Dom瀵硅薄鎴栬呮槸浣滀負閾炬帴銆侀〉闈㈡鏋躲佸浘鍍忋佽〃鍗曘佽〃鏍肩瓑鐨勯泦鍚堣繘琛屽鐞嗭紝鐒跺悗浣跨敤JUnit妗嗘灦榪涜嫻嬭瘯錛岃繕鍙互瀵煎悜涓涓柊鐨勯〉闈紝鐒跺悗榪涜鏂伴〉闈㈢殑澶勭悊錛岃繖涓姛鑳戒嬌浣犲彲浠ュ鐞嗕竴緇勫湪涓涓搷浣滈摼涓殑欏甸潰銆?/p>

1.2  鍜屽叾浠栧晢涓氬伐鍏風殑瀵規瘮

鍟嗕笟宸ュ叿涓鑸嬌鐢ㄨ褰曘佸洖鏀劇殑鍔熻兘鏉ュ疄鐜版祴璇曪紝浣嗘槸榪欓噷鏈変釜緙洪櫡錛屽氨鏄綋欏甸潰璁捐琚慨鏀逛互鍚庯紝榪欎簺琚褰曠殑琛屼負灝變笉鑳介噸鐢ㄤ簡錛岄渶瑕侀噸鏂板綍鍒舵墠鑳界戶緇祴璇曘?/p>

涓句釜渚嬪瓙錛氬鏋滈〉闈笂鏈変釜鍏冪礌鏈鍏堢殑璁捐鏄噰鐢ㄥ崟閫夋錛岃繖涓椂鍊欎綘寮濮嬫祴璇曪紝閭d箞榪欎簺宸ュ叿璁板綍鐨勫氨鏄綘鐨勫崟欏歸夋嫨鍔ㄤ綔錛屼絾鏄鏋滀綘鐨勮璁″彂鐢熶簡鍙樺寲錛屾瘮濡傝鎴戞敼鎴愪簡涓嬫媺閫夋嫨錛屾垨鑰呬嬌鐢ㄦ枃鏈鎺ュ彈鐢ㄦ埛杈撳叆錛岃繖鏃跺欙紝浣犱互鍓嶅綍鍒剁殑嫻嬭瘯榪囩▼灝辨棤鏁堜簡錛屽繀欏昏閲嶆柊褰曞埗銆?/p>

鑰孒ttpUnit鍥犱負鍏蟲敞鐐規槸榪欎簺鎺т歡鐨勫唴瀹癸紝鎵浠ヤ笉綆′綘鐨勫鍦ㄨ〃鐜板艦寮忓浣曞彉鍖栵紝閮戒笉褰卞搷浣犲凡紜畾嫻嬭瘯鐨勫彲閲嶇敤鎬с?/p>

鏇村鐨勫叧浜巋ttpunit鐨勪俊鎭璁塊棶httpunit鐨勪富欏?a >http://httpunit.sourceforge.net

2  浣滆呯殑婕旂ず鐜

緋葷粺騫沖彴錛歐indows 2000 Server

搴旂敤鏈嶅姟鍣細娣卞湷閲戣澏鐨刟pusic3.0

寮鍙戝伐鍏鳳細 eclipse 2.1.2

3  HttpUnit瀹夎銆佺幆澧冮厤緗?/strong>

3.1  瀹夎

1. 鍒癏ttpUnit鐨勪富欏礹ttp://httpunit.sourceforge.net涓嬭澆鏈鏂扮殑鍖呮枃浠訛紝褰撳墠鐨勬渶鏂扮増鏈槸1.5.4銆?

2. 灝嗕笅杞界殑Zip鍖呰В鍘嬬緝鍒癱:/httpunit(鍚庨潰灝嗕嬌鐢?httpunit_home%寮曠敤璇ョ洰褰?

3.2  鐜閰嶇疆

浣滆呯殑婕旂ず紼嬪簭閮芥槸鍦╡clipse涓紑鍙戙佹墽琛岀殑錛屾墍浠ョ幆澧冮厤緗兘鏄互eclipse涓轟緥錛屽鏋滀綘浣跨敤鍏朵粬鐨勫紑鍙戝伐鍏鳳紝璇鋒牴鎹繖浜涙楠よ繘琛岀幆澧冮厤緗?/p>

  1. 鍚姩eclipse錛屽緩绔嬩竴涓猨ava宸ョ▼
  2. 灝?httpunit_home%/lib/*.jar; %httpunit_home%/jars/*.jar鍔犲叆鍒拌java宸ョ▼鐨凧ava build Path鍙橀噺涓?

4  濡備綍浣跨敤httpunit澶勭悊欏甸潰鐨勫唴瀹?/strong>

WebConversation綾繪槸HttpUnit妗嗘灦涓渶閲嶈鐨勭被錛屽畠鐢ㄤ簬妯℃嫙嫻忚鍣ㄧ殑琛屼負銆傚叾浠栧嚑涓噸瑕佺殑綾繪槸錛?/p>

WebRequest綾伙紝妯′豢瀹㈡埛璇鋒眰錛岄氳繃瀹冨彲浠ュ悜鏈嶅姟鍣ㄥ彂閫佷俊鎭?/p>

WebResponse綾伙紝妯℃嫙嫻忚鍣ㄨ幏鍙栨湇鍔″櫒绔殑鍝嶅簲淇℃伅銆?/p>

4.1  鑾峰彇鎸囧畾欏甸潰鐨勫唴瀹?/strong>

4.1.1  鐩存帴鑾峰彇欏甸潰鍐呭

System.out.println("鐩存帴鑾峰彇緗戦〉鍐呭錛?);
//寤虹珛涓涓猈ebConversation瀹炰緥
WebConversation wc = new WebConversation();
//鍚戞寚瀹氱殑URL鍙戝嚭璇鋒眰錛岃幏鍙栧搷搴?
WebResponse wr = wc.getResponse( "http://localhost:6888/HelloWorld.html" );
//鐢╣etText鏂規硶鑾峰彇鐩稿簲鐨勫叏閮ㄥ唴瀹?
//鐢⊿ystem.out.println灝嗚幏鍙栫殑鍐呭鎵撳嵃鍦ㄦ帶鍒跺彴涓?
System.out.println( wr.getText() );

4.1.2  閫氳繃Get鏂規硶璁塊棶欏甸潰騫朵笖鍔犲叆鍙傛暟

System.out.println("鍚戞湇鍔″櫒鍙戦佹暟鎹紝鐒跺悗鑾峰彇緗戦〉鍐呭錛?);
//寤虹珛涓涓猈ebConversation瀹炰緥
WebConversation wc = new WebConversation();
//鍚戞寚瀹氱殑URL鍙戝嚭璇鋒眰
WebRequest req = new GetMethodWebRequest( "http://localhost:6888/HelloWorld.jsp" );
//緇欒姹傚姞涓婂弬鏁?
req.setParameter("username","濮撳悕");
//鑾峰彇鍝嶅簲瀵硅薄
WebResponse resp = wc.getResponse( req );
//鐢╣etText鏂規硶鑾峰彇鐩稿簲鐨勫叏閮ㄥ唴瀹?
//鐢⊿ystem.out.println灝嗚幏鍙栫殑鍐呭鎵撳嵃鍦ㄦ帶鍒跺彴涓?
System.out.println( resp.getText() );

4.1.3 閫氳繃Post鏂規硶璁塊棶欏甸潰騫朵笖鍔犲叆鍙傛暟

System.out.println("浣跨敤Post鏂瑰紡鍚戞湇鍔″櫒鍙戦佹暟鎹紝鐒跺悗鑾峰彇緗戦〉鍐呭錛?);
//寤虹珛涓涓猈ebConversation瀹炰緥
WebConversation wc = new WebConversation();
//鍚戞寚瀹氱殑URL鍙戝嚭璇鋒眰
WebRequest req = new PostMethodWebRequest( "http://localhost:6888/HelloWorld.jsp" );
//緇欒姹傚姞涓婂弬鏁?
req.setParameter("username","濮撳悕");
//鑾峰彇鍝嶅簲瀵硅薄
WebResponse resp = wc.getResponse( req );
//鐢╣etText鏂規硶鑾峰彇鐩稿簲鐨勫叏閮ㄥ唴瀹?
//鐢⊿ystem.out.println灝嗚幏鍙栫殑鍐呭鎵撳嵃鍦ㄦ帶鍒跺彴涓?
System.out.println( resp.getText() );

澶у鍏蟲敞涓涓嬩笂闈唬鐮佷腑鎵撲簡涓嬪垝綰跨殑涓ゅ鍐呭錛屽簲璇ュ彲浠ョ湅鍒幫紝浣跨敤Get銆丳ost鏂規硶璁塊棶欏甸潰鐨勫尯鍒氨鏄嬌鐢ㄧ殑璇鋒眰瀵硅薄涓嶅悓銆?/p>

4.2  澶勭悊欏甸潰涓殑閾炬帴

榪欓噷鐨勬紨紺烘槸鎵懼埌欏甸潰涓殑鏌愪竴涓摼鎺ワ紝鐒跺悗妯℃嫙鐢ㄦ埛鐨勫崟鏈鴻涓猴紝鑾峰緱瀹冩寚鍚戞枃浠剁殑鍐呭銆傛瘮濡傚湪鎴戠殑欏甸潰HelloWorld.html涓湁涓涓摼鎺ワ紝瀹冩樉紺虹殑鍐呭鏄疶estLink錛屽畠鎸囧悜鎴戝彟涓涓〉闈estLink.htm. TestLink.htm閲岄潰鍙樉紺篢estLink.html鍑犱釜瀛楃銆?/p>

涓嬮潰鏄鐞嗕唬鐮侊細

System.out.println("鑾峰彇欏甸潰涓摼鎺ユ寚鍚戦〉闈㈢殑鍐呭錛?);
//寤虹珛涓涓猈ebConversation瀹炰緥
WebConversation wc = new WebConversation();
//鑾峰彇鍝嶅簲瀵硅薄
WebResponse   resp = wc.getResponse( "http://localhost:6888/HelloWorld.html" );
//鑾峰緱欏甸潰閾炬帴瀵硅薄
WebLink       link = resp.getLinkWith( "TestLink" );
//妯℃嫙鐢ㄦ埛鍗曞嚮浜嬩歡
link.click();
//鑾峰緱褰撳墠鐨勫搷搴斿璞?
WebResponse   nextLink = wc.getCurrentPage();
//鐢╣etText鏂規硶鑾峰彇鐩稿簲鐨勫叏閮ㄥ唴瀹?
//鐢⊿ystem.out.println灝嗚幏鍙栫殑鍐呭鎵撳嵃鍦ㄦ帶鍒跺彴涓?
System.out.println( nextLink.getText() );

4.3  澶勭悊欏甸潰涓殑琛ㄦ牸

琛ㄦ牸鏄敤鏉ユ帶鍒墮〉闈㈡樉紺虹殑甯歌瀵硅薄錛屽湪HttpUnit涓嬌鐢ㄦ暟緇勬潵澶勭悊欏甸潰涓殑澶氫釜琛ㄦ牸錛屼綘鍙互鐢╮esp.getTables()鏂規硶鑾峰彇欏甸潰鎵鏈夌殑琛ㄦ牸瀵硅薄銆備粬浠緷鐓у嚭鐜板湪欏甸潰涓殑欏哄簭淇濆瓨鍦ㄤ竴涓暟緇勯噷闈€?/p>

[娉ㄦ剰] Java涓暟緇勪笅鏍囨槸浠?寮濮嬬殑錛屾墍浠ュ彇絎竴涓〃鏍煎簲璇ユ槸resp.getTables()[0]錛屽叾浠栦互姝ょ被鎺ㄣ?/p>

涓嬮潰鐨勪緥瀛愭紨紺哄浣曚粠欏甸潰涓彇鍑虹涓涓〃鏍肩殑鍐呭騫朵笖灝嗕粬浠驚鐜樉紺哄嚭鏉ワ細

System.out.println("鑾峰彇欏甸潰涓〃鏍肩殑鍐呭錛?);
//寤虹珛涓涓猈ebConversation瀹炰緥
WebConversation wc = new WebConversation();
//鑾峰彇鍝嶅簲瀵硅薄
WebResponse   resp = wc.getResponse( "http://localhost:6888/HelloWorld.html" );
//鑾峰緱瀵瑰簲鐨勮〃鏍煎璞?
WebTable webTable = resp.getTables()[0];
//灝嗚〃鏍煎璞$殑鍐呭浼犻掔粰瀛楃涓叉暟緇?
String[][] datas = webTable.asText();
//寰幆鏄劇ず琛ㄦ牸鍐呭
int i = 0 ,j = 0;
int m = datas[0].length;
int n = datas.length;
while (i<n){
j=0;
while(j<m){
System.out.println("琛ㄦ牸涓"+(i+1)+"琛岀"+
(j+1)+"鍒楃殑鍐呭鏄細"+datas[i][j]);
++j;
}
++i;
}

4.4  澶勭悊欏甸潰涓殑琛ㄥ崟

琛ㄥ崟鏄敤鏉ユ帴鍙楃敤鎴瘋緭鍏ワ紝涔熷彲浠ュ悜鐢ㄦ埛鏄劇ず鐢ㄦ埛宸茶緭鍏ヤ俊鎭紙濡傞渶瑕佺敤鎴蜂慨鏀規暟鎹椂錛岄氬父浼氭樉紺轟粬浠ュ墠杈撳叆榪囩殑淇℃伅錛夛紝鍦℉ttpUnit涓嬌鐢ㄦ暟緇勬潵澶勭悊欏甸潰涓殑澶氫釜琛ㄥ崟錛屼綘鍙互鐢╮esp.getForms()鏂規硶鑾峰彇欏甸潰鎵鏈夌殑琛ㄥ崟瀵硅薄銆備粬浠緷鐓у嚭鐜板湪欏甸潰涓殑欏哄簭淇濆瓨鍦ㄤ竴涓暟緇勯噷闈€?/p>

[娉ㄦ剰] Java涓暟緇勪笅鏍囨槸浠?寮濮嬬殑錛屾墍浠ュ彇絎竴涓〃鍗曞簲璇ユ槸resp.getForms()[0]錛屽叾浠栦互姝ょ被鎺ㄣ?/p>

涓嬮潰鐨勪緥瀛愭紨紺哄浣曚粠欏甸潰涓彇鍑虹涓涓〃鍗曠殑鍐呭騫朵笖灝嗕粬浠驚鐜樉紺哄嚭鏉ワ細

System.out.println("鑾峰彇欏甸潰涓〃鍗曠殑鍐呭錛?);
//寤虹珛涓涓猈ebConversation瀹炰緥
WebConversation wc = new WebConversation();
//鑾峰彇鍝嶅簲瀵硅薄
WebResponse   resp = wc.getResponse( "http://localhost:6888/HelloWorld.html" );
//鑾峰緱瀵瑰簲鐨勮〃鍗曞璞?
WebForm webForm = resp.getForms()[0];
//鑾峰緱琛ㄥ崟涓墍鏈夋帶浠剁殑鍚嶅瓧
String[] pNames = webForm.getParameterNames();
int i = 0;
int m = pNames.length;
//寰幆鏄劇ず琛ㄥ崟涓墍鏈夋帶浠剁殑鍐呭
while(i<m){
System.out.println("絎?+(i+1)+"涓帶浠剁殑鍚嶅瓧鏄?+pNames[i]+
"錛岄噷闈㈢殑鍐呭鏄?+webForm.getParameterValue(pNames[i]));
++i;
}

5  濡備綍浣跨敤httpunit榪涜嫻嬭瘯

5.1  瀵歸〉闈㈠唴瀹硅繘琛屾祴璇?/strong>

httpunit涓殑榪欓儴鍒嗘祴璇曞畬鍏ㄩ噰鐢ㄤ簡JUnit鐨勬祴璇曟柟娉曪紝鍗崇洿鎺ュ皢浣犳湡鏈涚殑緇撴灉鍜岄〉闈腑鐨勮緭鍑哄唴瀹硅繘琛屾瘮杈冦備笉榪囪繖閲岀殑嫻嬭瘯灝辯畝鍗曞浜嗭紝鍙槸瀛楃涓插拰瀛楃涓茬殑姣旇緝銆?/p>

姣斿浣犳湡鏈涗腑鐨勯〉闈㈡樉紺烘槸涓湁涓涓〃鏍鹼紝瀹冩槸欏甸潰涓殑絎竴涓〃鏍鹼紝鑰屼笖浠栫殑絎竴琛岀涓鍒楃殑鏁版嵁搴旇鏄樉紺簎sername錛岄偅涔堜綘鍙互浣跨敤涓嬮潰鐨勪唬鐮佽繘琛岃嚜鍔ㄥ寲嫻嬭瘯錛?/p>

System.out.println("鑾峰彇欏甸潰涓〃鏍肩殑鍐呭騫朵笖榪涜嫻嬭瘯錛?);
//寤虹珛涓涓猈ebConversation瀹炰緥
WebConversation wc = new WebConversation();
//鑾峰彇鍝嶅簲瀵硅薄
WebResponse   resp = wc.getResponse( "http://localhost:6888/TableTest.html" );
//鑾峰緱瀵瑰簲鐨勮〃鏍煎璞?
WebTable webTable = resp.getTables()[0];
//灝嗚〃鏍煎璞$殑鍐呭浼犻掔粰瀛楃涓叉暟緇?
String[][] datas = webTable.asText();
//瀵硅〃鏍煎唴瀹硅繘琛屾祴璇?
String expect = "涓枃";
Assert.assertEquals(expect,datas[0][0]);

5.2  瀵筍ervlet榪涜嫻嬭瘯

闄や簡瀵歸〉闈㈠唴瀹硅繘琛屾祴璇曞錛屾湁鏃跺欙紙姣斿寮鍙戝鏉傜殑Servlets鐨勬椂鍊欙級錛屼綘闇瑕佸Servlet鏈韓鐨勪唬鐮佸潡榪涜嫻嬭瘯錛岃繖鏃跺欎綘鍙互閫夋嫨HttpUnit錛屽畠鍙互鎻愪緵涓涓ā鎷熺殑Servlet瀹瑰櫒錛岃浣犵殑Servlet浠g爜涓嶉渶瑕佸彂甯冨埌Servlet瀹瑰櫒錛堝tomcat錛夊氨鍙互鐩存帴嫻嬭瘯銆?

5.2.1  鍘熺悊綆浠?/strong>

浣跨敤httpunit嫻嬭瘯Servlet鏃訛紝璇峰垱寤轟竴涓猄ervletRunner鐨勫疄渚嬶紝浠栬礋璐fā鎷烻ervlet瀹瑰櫒鐜銆傚鏋滀綘鍙槸嫻嬭瘯涓涓猄ervlet,浣犲彲浠ョ洿鎺ヤ嬌鐢╮egisterServlet鏂規硶娉ㄥ唽榪欎釜Servlet錛屽鏋滈渶瑕侀厤緗涓猄ervlet錛屼綘鍙互緙栧啓鑷繁鐨剋eb.xml錛岀劧鍚庡湪鍒濆鍖朣ervletRunner鐨勬椂鍊欏皢瀹冪殑浣嶇疆浣滀負鍙傛暟浼犵粰ServletRunner鐨勬瀯閫犲櫒銆?/p>

鍦ㄦ祴璇昐ervlet鏃訛紝搴旇璁板緱浣跨敤ServletUnitClient綾諱綔涓哄鎴風錛屼粬鍜屽墠闈㈢敤榪囩殑WebConversation宸笉澶氾紝閮界戶鎵胯嚜WebClient錛屾墍浠ヤ粬浠殑璋冪敤鏂瑰紡鍩烘湰涓鑷淬傝娉ㄦ剰鐨勫樊鍒槸錛屽湪浣跨敤ServletUnitClient鏃訛紝浠栦細蹇界暐URL涓殑涓繪満鍦板潃淇℃伅錛岃屾槸鐩存帴鎸囧悜浠栫殑ServletRunner瀹炵幇鐨勬ā鎷熺幆澧冦?/p>

5.2.2  綆鍗曟祴璇?/strong>

鏈疄渚嬪彧鏄紨紺哄浣曠畝鍗曠殑璁塊棶Servlet騫朵笖鑾峰彇浠栫殑杈撳嚭淇℃伅錛屼緥瀛愪腑鐨凷ervlet鍦ㄦ帴鍒扮敤鎴瘋姹傜殑鏃跺欏彧鏄繑鍥炰竴涓茬畝鍗曠殑瀛楃涓詫細Hello World!.

1. Servlet鐨勪唬鐮佸涓嬶細

public class MyServlet extends HttpServlet {
public void service(HttpServletRequest req, HttpServletResponse resp)
throws IOException
{
PrintWriter out = resp.getWriter();
//鍚戞祻瑙堝櫒涓啓涓涓瓧絎︿覆Hello World!
out.println("

    Hello World!");
    out.close();
    }
    }
    

2. 嫻嬭瘯鐨勮皟鐢ㄤ唬鐮佸涓嬶細

//鍒涘緩Servlet鐨勮繍琛岀幆澧?
    ServletRunner sr = new ServletRunner();
    //鍚戠幆澧冧腑娉ㄥ唽Servlet
    sr.registerServlet( "myServlet", MyServlet.class.getName() );
    //鍒涘緩璁塊棶Servlet鐨勫鎴風
    ServletUnitClient sc = sr.newClient();
    //鍙戦佽姹?
    WebRequest request   = new GetMethodWebRequest( "http://localhost/myServlet" );
    //鑾峰緱妯℃嫙鏈嶅姟鍣ㄧ殑淇℃伅
    WebResponse response = sc.getResponse( request );
    //灝嗚幏寰楃殑緇撴灉鎵撳嵃鍒版帶鍒跺彴涓?
    System.out.println(response.getText());
    

5.2.3  嫻嬭瘯Servlet鐨勫唴閮ㄨ涓?/strong>

瀵逛簬寮鍙戣呮潵璇達紝浠呬粎嫻嬭瘯璇鋒眰鍜岃繑鍥炰俊鎭槸涓嶅鐨勶紝鎵浠ttpUnit鎻愪緵鐨凷ervletRunner妯℃嫙鍣ㄥ彲浠ヨ浣犲琚皟鐢⊿ervlet鍐呴儴鐨勮涓鴻繘琛屾祴璇曘傚拰綆鍗曟祴璇曚腑涓嶅悓錛岃繖閲屼嬌鐢ㄤ簡InvocationContext鑾峰緱璇ervlet鐨勭幆澧冿紝鐒跺悗浣犲彲浠ラ氳繃InvocationContext瀵硅薄閽堝request銆乺esponse絳夊璞℃垨鑰呮槸璇ervlet鐨勫唴閮ㄨ涓猴紙闈炴湇鍔℃柟娉曪級榪涜鎿嶄綔銆?/p>

涓嬮潰鐨勪唬鐮佹紨紺轟簡濡備綍浣跨敤HttpUnit妯℃嫙Servlet瀹瑰櫒錛屽茍涓旈氳繃InvocationContext瀵硅薄錛屾祴璇昐ervlet鍐呴儴琛屼負鐨勫ぇ閮ㄥ垎宸ヤ綔錛屾瘮濡傛帶鍒秗equest銆乻ession銆乺esponse絳夈?/p>

//鍒涘緩Servlet鐨勮繍琛岀幆澧?
    ServletRunner sr = new ServletRunner();
    //鍚戠幆澧冧腑娉ㄥ唽Servlet
    sr.registerServlet( "InternalServlet", InternalServlet.class.getName() );
    //鍒涘緩璁塊棶Servlet鐨勫鎴風
    ServletUnitClient sc = sr.newClient();
    //鍙戦佽姹?
    WebRequest request   = new GetMethodWebRequest( "http://localhost/InternalServlet" );
    request.setParameter("pwd","pwd");
    //鑾峰緱璇ヨ姹傜殑涓婁笅鏂囩幆澧?
    InvocationContext ic = sc.newInvocation( request );
    //璋冪敤Servlet鐨勯潪鏈嶅姟鏂規硶
    InternalServlet is = (InternalServlet)ic.getServlet();
    is.myMethod();
    //鐩存帴閫氳繃涓婁笅鏂囪幏寰梤equest瀵硅薄
    System.out.println("request涓幏鍙栫殑鍐呭錛?+ic.getRequest().getParameter("pwd"));
    //鐩存帴閫氳繃涓婁笅鏂囪幏寰梤esponse瀵硅薄,騫朵笖鍚戝鎴風杈撳嚭淇℃伅
    ic.getResponse().getWriter().write("haha");
    //鐩存帴閫氳繃涓婁笅鏂囪幏寰梥ession瀵硅薄錛屾帶鍒秙ession瀵硅薄
    //緇檚ession璧嬪?
    ic.getRequest().getSession().setAttribute("username","timeson");
    //鑾峰彇session鐨勫?
    System.out.println("session涓殑鍊鹼細"+ic.getRequest().getSession().getAttribute("username"));
    //浣跨敤瀹㈡埛绔幏鍙栬繑鍥炰俊鎭紝騫朵笖鎵撳嵃鍑烘潵
    WebResponse response = ic.getServletResponse();
    System.out.println(response.getText());
    

[娉ㄦ剰]

鍦ㄦ祴璇昐ervlet鐨勪箣鍓嶏紝浣犲繀欏婚氳繃InvocationContext瀹屾垚Servlet涓殑service鏂規硶涓畬鎴愮殑宸ヤ綔錛屽洜涓洪氳繃newInvocation鏂規硶鑾峰彇InvocationContext瀹炰緥鐨勬椂鍊欒鏂規硶騫舵病鏈夎璋冪敤銆?/p>

6  鎬葷粨

鏈枃涓紝浣滆呰緇嗙殑婕旂ず鍜屼粙緇嶄簡濡備綍浣跨敤HttpUnit鎻愪緵鐨勭被鏉ヨ繘琛岄泦鎴愭祴璇曪紝涓昏瀹炵幇浠ヤ笅鎿嶄綔錛?/p>

  1. 妯℃嫙鐢ㄦ埛琛屼負鍚戞湇鍔″櫒鍙戦佽姹傦紝浼犻掑弬鏁?
  2. 妯℃嫙鐢ㄦ埛鎺ュ彈鏈嶅姟鍣ㄧ殑鍝嶅簲淇℃伅錛屽茍涓旈氳繃杈呭姪綾誨垎鏋愯繖浜涘搷搴斾俊鎭紝緇撳悎JUnit妗嗘灦榪涜嫻嬭瘯
  3. 浣跨敤HttpUnit鎻愪緵鐨勬ā鎷烻ervler瀹瑰櫒,嫻嬭瘯寮鍙戜腑鐨凷ervlet鐨勫唴閮ㄨ涓?

鍙傝冭祫鏂?/strong>

  1. HttpUnit甯姪  http://httpunit.sourceforge.net
  2. JUnit甯姪  http://junit.org/index.htm


leoli 2007-10-16 14:07 鍙戣〃璇勮
]]>
鐢?ant 鑷姩鍖栨祴璇?錛堣漿錛?/title><link>http://www.tkk7.com/zhangzhong1018/articles/142411.html</link><dc:creator>leoli</dc:creator><author>leoli</author><pubDate>Mon, 03 Sep 2007 10:00:00 GMT</pubDate><guid>http://www.tkk7.com/zhangzhong1018/articles/142411.html</guid><wfw:comment>http://www.tkk7.com/zhangzhong1018/comments/142411.html</wfw:comment><comments>http://www.tkk7.com/zhangzhong1018/articles/142411.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/zhangzhong1018/comments/commentRss/142411.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/zhangzhong1018/services/trackbacks/142411.html</trackback:ping><description><![CDATA[<div align="center"><strong><font size="4">鍒╃敤ant鍜宩unit瀹炵幇鍗曞厓嫻嬭瘯鐨勮嚜鍔ㄥ寲</font></strong></div> <div align="center"> </div> <div style="text-indent: 21.75pt">鍦ㄨ蔣浠跺紑鍙戣繃紼嬩腑錛屾垜浠氬父闇瑕佸鍚勪釜鍔熻兘妯″潡浠ヨ嚦綾葷殑鏂規硶榪涜璇︾粏鐨勬祴璇曘傝繖縐嶅鏈灝忕殑杞歡鍗曞厓榪涜楠岃瘉鐨勫伐浣滀篃鍙仛鍗曞厓嫻嬭瘯錛屽崟鍏冩祴璇曢氬父鍦ㄧ紪鐮佽繃紼嬩腑榪涜錛屽湪浠ユ祴璇曢┍鍔ㄥ紑鍙戠殑欏圭洰涓紝鍗曞厓嫻嬭瘯鏄竴欏歸潪甯擱噸瑕佺殑宸ヤ綔錛屼絾闅忕潃寮鍙戣繃紼嬬殑娣卞叆錛屾垜浠墍縐瘡鐨勫崟鍏冩祴璇曟渚嬪氨浼氳秺鏉ヨ秺澶氾紝闈㈠鎴愮櫨涓婂崈涓祴璇曠被錛屽崟鐙繍琛屾瘡涓渚嬩笉浠呰垂鏃訛紝鑰屼笖寰堥毦鍦ㄤ互鍚庣殑闆嗘垚嫻嬭瘯涓埄鐢ㄥ厛鍓嶇殑鍗曞厓嫻嬭瘯妗堜緥鏋勫緩鍑轟竴涓畬鏁寸殑嫻嬭瘯鎶ュ憡銆?/div> <div style="text-indent: 21.75pt">Junit鏄竴涓敤浜巎ava杞歡嫻嬭瘯鐨勫紑婧愰」鐩紝涓昏鐨勫簲鐢ㄤ篃鏄綔涓哄崟鍏冩祴璇曪紝铏界劧璁捐鐭皬錛屼絾鍔熻兘鍗存槸闈炲父寮哄ぇ銆傜洰鍓嶆湁寰堝鍦╦unit涓婅繘琛屾墿灞曠殑欏圭洰甯姪鎴戜滑瀹屾垚鍚勭嫻嬭瘯銆傛瘮濡倃eb鎬ц兘嫻嬭瘯鐨刪ttpunit錛宩meter錛岀敤浜庝唬鐮佽鐩栨祴璇曠殑hansel錛岀敤浜庢暟鎹簱鎬ц兘嫻嬭瘯鐨刣bunit絳夌瓑錛屽簲鐢ㄩ亶甯冭蔣浠舵祴璇曠殑鍚勪釜棰嗗煙銆?/div> <div><span>    Ant</span>鍚屾牱鏄竴涓潪甯鎬紭縐鐨刯ava欏圭洰鏋勫緩宸ュ叿銆傛嵁ant鐨勫垱濮嬩漢James Duncan Davidson璇達紝ant浠h〃錛?Another Neat Tool"銆傚悓鏍風殑錛宎nt鍦ㄨ嫳鏂囦腑鏄?#8220;铓傝殎“鐨勬剰鎬濓紝榪欏張浠h〃鐫瀹冩湁寤虹瓚鏈楂樿秴鍜岃韓韜櫧灝忥紝浣嗗姛鑳藉嵈鏋佸叾寮哄ぇ鐨勬剰鎬濓紙鍙互鍙傜湅錛?a >http://ant.apache.org/faq.html#ant-name</a>錛夛紝ant欏圭洰浠?000騫村紑濮嬶紝涓鐩存湭鍋滄鏇存柊宸ヤ綔錛岀洰鍓嶇殑鏈楂樼増鏈槸1.7.0銆?/div> <div style="text-indent: 21.75pt">鍦ㄤ笅闈㈡垜浠繕闇瑕佺敤鍒癹ava鐨処DE寮鍙戝伐鍏稥clipse銆傚湪鏈鏂扮殑3.2鐗堟湰涓紝eclipse宸茬粡鏁村悎浜唈unit4銆乯unit3.8.1鍜宎nt1.6.5銆備絾鐢變簬鍙湁鍦╝nt1.7.0浠ュ悗鐗堟湰涓墠寮濮嬫敮鎸乯unit錛屽洜姝ら渶瑕佹垜浠粠<a >http://ant.apache.org</a>涓嬭澆鏈鏂扮殑1.7.0錛屽茍閲嶆柊璁劇疆eclipse鐨凙nt Home鐨勪綅緗寚鍚慳nt1.7.0鐨刲ib鍖呫傚鍥撅細</div> <div style="text-indent: 21.75pt"></div> <p><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/lemonfamily/5b5d7614c4ef4c888333d067fdd7759e.png" /></p> <div></div> <div>Eclipse閲岄潰宸茬粡鑷甫浜唈unit4鍜宩unit3.8.1錛屽鏋滀嬌鐢ㄧ殑jdk鐜鏄?.0錛坖dk1.5錛夊彲浠ヤ嬌鐢╦unit4錛屽鏋滄槸1.4鍒欎嬌鐢╦unit3.8.1銆傛煡鐪嬪拰璁劇疆欏圭洰鐨刯dk鐜鍙互閫氳繃project ->properties ->java compiler.濡傚浘錛?/div> <div></div> <p><img style="width: 581px; height: 526px" height="526" alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/lemonfamily/154a389d72b04d4f93724d35e996b5d5.png" width="588" /></p> <div style="text-indent: 17.95pt" align="center"> </div> <div><span>   </span>榛樿鎯呭喌涓嬶紝"Enable project specific settings" 閫夐」鏄湭閫変腑鐨勶紝鍒欓」鐩嬌鐢ㄥ綋鍓嶆搷浣滅郴緇熼粯璁ょ殑java鐜錛堣窡浣犺緗殑java build path鏃犲叧錛夈?/div> <div><span>   </span>涓嬮潰錛屾垜浠垱寤轟竴涓祴璇曢」鐩紝鍚嶅瓧涓猴細test錛屽茍鍒涘緩涓や釜婧愭枃浠跺す:src鍜宼est..鎶婇」鐩簮鏂囦歡鍜屾祴璇曟枃浠跺垎寮鏀懼湪榪欎袱涓枃浠跺す涓?/div> <div>鎴戜滑鍦╯rc緙栧啓涓涓祴璇曠被錛?/div> <div> </div> <table style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none; border-collapse: collapse" cellspacing="0" cellpadding="0" border="1"> <tbody> <tr> <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 426.1pt; padding-top: 0cm; border-bottom: windowtext 1pt solid" valign="top" width="568"> <div align="left"><strong><span style="font-size: 10pt; color: #7f0055">package</span></strong><span style="font-size: 10pt; color: black"> com.widetrust;</span></div> <div align="left"> </div> <div align="left"><strong><span style="font-size: 10pt; color: #7f0055">public </span></strong><strong><span style="font-size: 10pt; color: #7f0055">class</span></strong><span style="font-size: 10pt; color: black"> CountService {</span></div> <div align="left"><span style="font-size: 10pt; color: black">     </span><strong><span style="font-size: 10pt; color: #7f0055">private </span></strong><strong><span style="font-size: 10pt; color: #7f0055">int </span></strong><span style="font-size: 10pt; color: #0000c0">summary</span><span style="font-size: 10pt; color: black">;</span></div> <div align="left"><span style="font-size: 10pt; color: black">     </span><strong><span style="font-size: 10pt; color: #7f0055">private </span></strong><strong><span style="font-size: 10pt; color: #7f0055">int </span></strong><span style="font-size: 10pt; color: #0000c0">count</span><span style="font-size: 10pt; color: black">;</span></div> <div align="left"><span style="font-size: 10pt; color: black">     </span><strong><span style="font-size: 10pt; color: #7f0055">public </span></strong><strong><span style="font-size: 10pt; color: #7f0055">boolean</span></strong><span style="font-size: 10pt; color: black"> stat(</span><strong><span style="font-size: 10pt; color: #7f0055">int</span></strong><span style="font-size: 10pt; color: black"> visitor){</span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: #0000c0">count</span><span style="font-size: 10pt; color: black">++;</span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: #0000c0">summary</span><span style="font-size: 10pt; color: black"> += visitor;</span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><strong><span style="font-size: 10pt; color: #7f0055">if</span></strong><span style="font-size: 10pt; color: black">(</span><span style="font-size: 10pt; color: #0000c0">summary</span><span style="font-size: 10pt; color: black">>1000 && </span><span style="font-size: 10pt; color: #0000c0">count</span><span style="font-size: 10pt; color: black">>2){</span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><strong><span style="font-size: 10pt; color: #7f0055">return </span></strong><strong><span style="font-size: 10pt; color: #7f0055">true</span></strong><span style="font-size: 10pt; color: black">;</span></div> <div align="left"><span style="font-size: 10pt; color: black">    }</span><strong><span style="font-size: 10pt; color: #7f0055">else</span></strong><span style="font-size: 10pt; color: black">{</span></div> <div align="left"><span style="font-size: 10pt; color: black">        </span><strong><span style="font-size: 10pt; color: #7f0055">return </span></strong><strong><span style="font-size: 10pt; color: #7f0055">false</span></strong><span style="font-size: 10pt; color: black">;</span></div> <div align="left"><span style="font-size: 10pt; color: black">    }</span></div> <div align="left"><span style="font-size: 10pt; color: black">     }</span></div> <div align="left"><span style="font-size: 10pt; color: black">}</span></div> </td> </tr> </tbody> </table> <div> </div> <div>鍦╰est鏂囦歡澶瑰啓涓祴璇曡綾葷殑綾伙細</div> <div> </div> <table style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none; border-collapse: collapse" cellspacing="0" cellpadding="0" border="1"> <tbody> <tr> <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 426.1pt; padding-top: 0cm; border-bottom: windowtext 1pt solid" valign="top" width="568"> <div align="left"><strong><span style="font-size: 10pt; color: #7f0055">package</span></strong><span style="font-size: 10pt; color: black"> com.widetrust.test;</span></div> <div align="left"> </div> <div align="left"><strong><span style="font-size: 10pt; color: #7f0055">import</span></strong><span style="font-size: 10pt; color: black"> com.widetrust.CountService;</span></div> <div align="left"><strong><span style="font-size: 10pt; color: #7f0055">import</span></strong><span style="font-size: 10pt; color: black"> junit.framework.TestCase;</span></div> <div align="left"> </div> <div align="left"><strong><span style="font-size: 10pt; color: #7f0055">public </span></strong><strong><span style="font-size: 10pt; color: #7f0055">class</span></strong><span style="font-size: 10pt; color: black"> TestCountService </span><strong><span style="font-size: 10pt; color: #7f0055">extends</span></strong><span style="font-size: 10pt; color: black"> TestCase {</span></div> <div align="left"><span style="font-size: 10pt; color: black">    CountService </span><span style="font-size: 10pt; color: #0000c0">cs</span><span style="font-size: 10pt; color: black">;</span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><strong><span style="font-size: 10pt; color: #7f0055">protected </span></strong><strong><span style="font-size: 10pt; color: #7f0055">void</span></strong><span style="font-size: 10pt; color: black"> setUp() </span><strong><span style="font-size: 10pt; color: #7f0055">throws</span></strong><span style="font-size: 10pt; color: black"> Exception {</span></div> <div align="left"><span style="font-size: 10pt; color: black">        </span><span style="font-size: 10pt; color: #0000c0">cs</span><span style="font-size: 10pt; color: black"> = </span><strong><span style="font-size: 10pt; color: #7f0055">new</span></strong><span style="font-size: 10pt; color: black"> CountService();</span></div> <div align="left"><span style="font-size: 10pt; color: black">    }</span></div> <div align="left"> </div> <div align="left"><span style="font-size: 10pt; color: black">    </span><strong><span style="font-size: 10pt; color: #7f0055">protected </span></strong><strong><span style="font-size: 10pt; color: #7f0055">void</span></strong><span style="font-size: 10pt; color: black"> tearDown() </span><strong><span style="font-size: 10pt; color: #7f0055">throws</span></strong><span style="font-size: 10pt; color: black"> Exception {</span></div> <div align="left"><span style="font-size: 10pt; color: black">    }</span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><strong><span style="font-size: 10pt; color: #7f0055">public </span></strong><strong><span style="font-size: 10pt; color: #7f0055">void</span></strong><span style="font-size: 10pt; color: black"> testStat(){       </span></div> <div align="left"><span style="font-size: 10pt; color: black">    <em>assertEquals</em>(</span><strong><span style="font-size: 10pt; color: #7f0055">true</span></strong><span style="font-size: 10pt; color: black">, </span><span style="font-size: 10pt; color: #0000c0">cs</span><span style="font-size: 10pt; color: black">.stat(4000));</span></div> <div align="left"><span style="font-size: 10pt; color: black">    }</span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><strong><span style="font-size: 10pt; color: #7f0055">public </span></strong><strong><span style="font-size: 10pt; color: #7f0055">void</span></strong><span style="font-size: 10pt; color: black"> testStat2(){</span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: #0000c0">cs</span><span style="font-size: 10pt; color: black">.stat(2000);</span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: #0000c0">cs</span><span style="font-size: 10pt; color: black">.stat(2000);</span></div> <div align="left"><span style="font-size: 10pt; color: black">    <em>assertEquals</em>(</span><strong><span style="font-size: 10pt; color: #7f0055">true</span></strong><span style="font-size: 10pt; color: black">, </span><span style="font-size: 10pt; color: #0000c0">cs</span><span style="font-size: 10pt; color: black">.stat(3000));</span></div> <div align="left"><span style="font-size: 10pt; color: black">    }</span></div> <div align="left"><span style="font-size: 10pt; color: black">}</span></div> <div align="left"> </div> </td> </tr> </tbody> </table> <div> </div> <div style="text-indent: 21.75pt">褰撶劧鎴戜滑鍙互鍒╃敤eclipse鐨凴un As Junit Test(蹇嵎閿細Alt+Shift+X T)榪愯鎴戜滑鍒氬啓濂界殑嫻嬭瘯妗堜緥錛屼絾鏈変釜闂鏄痚clipse涓嶈兘姝g‘鐨勫悓姝ユ垜浠殑寮鍙戝拰嫻嬭瘯紼嬪簭錛岃屼笖錛屾垜浠彲鑳借繕甯屾湜嫻嬭瘯鐨勮繃紼嬩腑涓烘垜浠彁渚涗竴浠借緇嗙殑鎶ュ憡鏂囨。錛屼互渚涙垜浠湪嫻嬭瘯鍚庣殑鏀硅繘榪囩▼涓殑璁ㄨ銆傜幇鍦ㄦ垜浠嬌鐢╝nt鐨勮嚜鍔ㄧ紪璇戝姛鑳芥潵瀹炵幇嫻嬭瘯鐨勮嚜鍔ㄥ寲錛屽茍璁╁畠鐢熸垚涓浠借緇嗙殑嫻嬭瘯鎶ュ憡銆?/div> <div>  娉ㄦ剰鐨勬槸錛宎nt鑷甫浜唈unit鐨勬敮鎸佸寘錛屼絾欏圭洰闇瑕乯unit.jar錛岃繕闇瑕佸湪欏圭洰鐨刲ib鏂囦歡澶逛腑鏀劇疆junit.jar錛岋紙榪欓噷鎴戝亣璁懼伐紼嬬洰褰曞瓨鏀鵑」鐩緷璧栫粍浠剁殑鏄痩ib鏂囦歡澶癸級濡傛灉鎴戜滑瑕佸崟鐙嬌鐢╝nt緙栬瘧鏁翠釜欏圭洰錛岄渶瑕佸湪欏圭洰鏋勫緩鏂囦歡build.xml涓畾涔夌紪璇戞墍鐢ㄥ埌鐨刲ib鍖呫傚綋鐒訛紝涓轟簡鐪佷簨錛屾垜浠篃鍙互鎶婇」鐩緷璧栫殑lib鍖呮斁鍒癮nt鐨勮緗」Global Entries 涓紝濡傚浘錛?/div> <p><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/lemonfamily/c5fe2a70f8ed4eb0992ab6368b6ebdc5.png" /></p> <div> </div> <div>榪欓噷鎴戜滑鎶婇」鐩緷璧栧寘閮借緗湪build.xml涓細</div> <div>鍦ㄩ」鐩殑鏍圭洰褰曞垱寤轟竴涓猙uild.xml錛屽唴瀹瑰涓嬶細</div> <div> </div> <table style="border-right: medium none; border-top: medium none; border-left: medium none; width: 464.4pt; border-bottom: medium none; border-collapse: collapse" cellspacing="0" cellpadding="0" width="619" border="1"> <tbody> <tr> <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 464.4pt; padding-top: 0cm; border-bottom: windowtext 1pt solid" valign="top" width="619"> <div align="left"><span style="font-size: 10pt; color: gray"><?xml version="1.0"?></span></div> <div align="left"> </div> <div align="left"><span style="font-size: 10pt; color: navy"><project </span><span style="font-size: 10pt; color: navy">name=</span><span style="font-size: 10pt; color: green">"ant and junit" </span><span style="font-size: 10pt; color: navy">default=</span><span style="font-size: 10pt; color: green">"test auot junit and report" </span><span style="font-size: 10pt; color: navy">basedir=</span><span style="font-size: 10pt; color: green">"."</span><span style="font-size: 10pt; color: navy">></span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: maroon"><!-- </span><span style="font-size: 10pt; color: maroon">瀹氫箟宸ョ▼渚濊禆鐨?/span><span style="font-size: 10pt; color: maroon">jar</span><span style="font-size: 10pt; color: maroon">鍖呭瓨鏀劇殑浣嶇疆</span><span style="font-size: 10pt; color: maroon"> --></span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"><property </span><span style="font-size: 10pt; color: navy">name=</span><span style="font-size: 10pt; color: green">"lib.dir" </span><span style="font-size: 10pt; color: navy">value=</span><span style="font-size: 10pt; color: green">"lib"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"><path </span><span style="font-size: 10pt; color: navy">id=</span><span style="font-size: 10pt; color: green">"classpath"</span><span style="font-size: 10pt; color: navy">></span></div> <div align="left"><span style="font-size: 10pt; color: black">       </span><span style="font-size: 10pt; color: navy"><fileset </span><span style="font-size: 10pt; color: navy">dir=</span><span style="font-size: 10pt; color: green">"${lib.dir}" </span><span style="font-size: 10pt; color: navy">includes=</span><span style="font-size: 10pt; color: green">"**/*.jar"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"></path></span></div> <div align="left"> </div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"><property </span><span style="font-size: 10pt; color: navy">name=</span><span style="font-size: 10pt; color: green">"output folder" </span><span style="font-size: 10pt; color: navy">value=</span><span style="font-size: 10pt; color: green">"classes"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"><property </span><span style="font-size: 10pt; color: navy">name=</span><span style="font-size: 10pt; color: green">"src folder" </span><span style="font-size: 10pt; color: navy">value=</span><span style="font-size: 10pt; color: green">"src"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"><property </span><span style="font-size: 10pt; color: navy">name=</span><span style="font-size: 10pt; color: green">"test folder" </span><span style="font-size: 10pt; color: navy">value=</span><span style="font-size: 10pt; color: green">"test"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"><property </span><span style="font-size: 10pt; color: navy">name=</span><span style="font-size: 10pt; color: green">"report folder" </span><span style="font-size: 10pt; color: navy">value=</span><span style="font-size: 10pt; color: green">"report"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"> </div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"><target </span><span style="font-size: 10pt; color: navy">name=</span><span style="font-size: 10pt; color: green">"clean"</span><span style="font-size: 10pt; color: navy">></span></div> <div align="left"><span style="font-size: 10pt; color: black">       </span><span style="font-size: 10pt; color: navy"><delete </span><span style="font-size: 10pt; color: navy">dir=</span><span style="font-size: 10pt; color: green">"report"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">       </span><span style="font-size: 10pt; color: navy"><echo></span><span style="font-size: 10pt; color: black">娓呴櫎嫻嬭瘯鎶ュ憡鏂囦歡 </span><span style="font-size: 10pt; color: black">鎴愬姛</span><span style="font-size: 10pt; color: black">!</span><span style="font-size: 10pt; color: navy"></echo></span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"></target></span></div> <div align="left"> </div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"><target </span><span style="font-size: 10pt; color: navy">name=</span><span style="font-size: 10pt; color: green">"compile init"</span><span style="font-size: 10pt; color: navy">></span></div> <div align="left"><span style="font-size: 10pt; color: black">       </span><span style="font-size: 10pt; color: navy"><mkdir </span><span style="font-size: 10pt; color: navy">dir=</span><span style="font-size: 10pt; color: green">"${output folder}"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">       </span><span style="font-size: 10pt; color: navy"><echo></span><span style="font-size: 10pt; color: black">鍒涘緩緙栬瘧鏂囦歡澶?</span><span style="font-size: 10pt; color: black">鎴愬姛</span><span style="font-size: 10pt; color: black">!</span><span style="font-size: 10pt; color: navy"></echo></span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"></target></span></div> <div align="left"> </div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"><target </span><span style="font-size: 10pt; color: navy">name=</span><span style="font-size: 10pt; color: green">"report init"</span><span style="font-size: 10pt; color: navy">depends=</span><span style="font-size: 10pt; color: green">"clean"</span><span style="font-size: 10pt; color: navy">></span></div> <div align="left"><span style="font-size: 10pt; color: black">       </span><span style="font-size: 10pt; color: navy"><mkdir </span><span style="font-size: 10pt; color: navy">dir=</span><span style="font-size: 10pt; color: green">"${report folder}"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">       </span><span style="font-size: 10pt; color: navy"><echo></span><span style="font-size: 10pt; color: black">鍒涘緩嫻嬭瘯鎶ュ憡鏂囦歡澶?</span><span style="font-size: 10pt; color: black">鎴愬姛</span><span style="font-size: 10pt; color: black">!</span><span style="font-size: 10pt; color: navy"></echo></span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"></target></span></div> <div align="left"> </div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"><target </span><span style="font-size: 10pt; color: navy">name=</span><span style="font-size: 10pt; color: green">"compile"</span><span style="font-size: 10pt; color: navy">depends=</span><span style="font-size: 10pt; color: green">"compile init"</span><span style="font-size: 10pt; color: navy">></span></div> <div align="left"><span style="font-size: 10pt; color: black">       </span><span style="font-size: 10pt; color: navy"><javac </span><span style="font-size: 10pt; color: navy">srcdir=</span><span style="font-size: 10pt; color: green">"${src folder}" </span><span style="font-size: 10pt; color: navy">destdir=</span><span style="font-size: 10pt; color: green">"${output folder}" </span><span style="font-size: 10pt; color: navy">classpathref=</span><span style="font-size: 10pt; color: green">"classpath"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">       </span><span style="font-size: 10pt; color: navy"><echo></span><span style="font-size: 10pt; color: black">欏圭洰婧愭枃浠?/span><span style="font-size: 10pt; color: black">緙栬瘧 鎴愬姛</span><span style="font-size: 10pt; color: black">!</span><span style="font-size: 10pt; color: navy"></echo></span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"></target></span></div> <div align="left"> </div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"><target </span><span style="font-size: 10pt; color: navy">name=</span><span style="font-size: 10pt; color: green">"test compile" </span><span style="font-size: 10pt; color: navy">depends=</span><span style="font-size: 10pt; color: green">"report init"</span><span style="font-size: 10pt; color: navy">></span></div> <div align="left"><span style="font-size: 10pt; color: black">       </span><span style="font-size: 10pt; color: navy"><javac </span><span style="font-size: 10pt; color: navy">srcdir=</span><span style="font-size: 10pt; color: green">"${test folder}" </span><span style="font-size: 10pt; color: navy">destdir=</span><span style="font-size: 10pt; color: green">"${output folder}" </span><span style="font-size: 10pt; color: navy">classpathref=</span><span style="font-size: 10pt; color: green">"classpath"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">       </span><span style="font-size: 10pt; color: navy"><echo></span><span style="font-size: 10pt; color: black">欏圭洰嫻嬭瘯鏂囦歡</span><span style="font-size: 10pt; color: black">緙栬瘧 鎴愬姛</span><span style="font-size: 10pt; color: black">!</span><span style="font-size: 10pt; color: navy"></echo></span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"></target></span></div> <div align="left"> </div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"><target </span><span style="font-size: 10pt; color: navy">name=</span><span style="font-size: 10pt; color: green">"all compile" </span><span style="font-size: 10pt; color: navy">depends=</span><span style="font-size: 10pt; color: green">"compile, test compile"</span><span style="font-size: 10pt; color: navy">></span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"></target></span></div> <div align="left"> </div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"><target </span><span style="font-size: 10pt; color: navy">name=</span><span style="font-size: 10pt; color: green">"test auot junit and report" </span><span style="font-size: 10pt; color: navy">depends=</span><span style="font-size: 10pt; color: green">"all compile"</span><span style="font-size: 10pt; color: navy">></span></div> <div align="left"><span style="font-size: 10pt; color: black">       </span><span style="font-size: 10pt; color: navy"><junit</span><span style="font-size: 10pt; color: navy">print summary=</span><span style="font-size: 10pt; color: green">"on" </span><span style="font-size: 10pt; color: navy">fork=</span><span style="font-size: 10pt; color: green">"true" </span><span style="font-size: 10pt; color: navy">showoutput=</span><span style="font-size: 10pt; color: green">"true"</span><span style="font-size: 10pt; color: navy">></span></div> <div align="left"><span style="font-size: 10pt; color: black">           </span><span style="font-size: 10pt; color: navy"><classpath></span></div> <div align="left"><span style="font-size: 10pt; color: black">              </span><span style="font-size: 10pt; color: navy"><fileset </span><span style="font-size: 10pt; color: navy">dir=</span><span style="font-size: 10pt; color: green"><span style="font-size: 10pt; color: green">"${lib.dir}</span>"</span><span style="font-size: 10pt; color: navy">includes=</span><span style="font-size: 10pt; color: green">"**/*.jar"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">              </span><span style="font-size: 10pt; color: navy"><pathelement </span><span style="font-size: 10pt; color: navy">path=</span><span style="font-size: 10pt; color: green">"${output folder}"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">           </span><span style="font-size: 10pt; color: navy"></classpath></span></div> <div align="left"><span style="font-size: 10pt; color: black">           </span><span style="font-size: 10pt; color: navy"><formatter </span><span style="font-size: 10pt; color: navy">type=</span><span style="font-size: 10pt; color: green">"xml"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">           </span><span style="font-size: 10pt; color: navy"><batchtest </span><span style="font-size: 10pt; color: navy">todir=</span><span style="font-size: 10pt; color: green">"${report folder}"</span><span style="font-size: 10pt; color: navy">></span></div> <div align="left"><span style="font-size: 10pt; color: black">              </span><span style="font-size: 10pt; color: navy"><fileset </span><span style="font-size: 10pt; color: navy">dir=</span><span style="font-size: 10pt; color: green">"${output folder}"</span><span style="font-size: 10pt; color: navy">></span></div> <div align="left"><span style="font-size: 10pt; color: black">                  </span><span style="font-size: 10pt; color: navy"><include </span><span style="font-size: 10pt; color: navy">name=</span><span style="font-size: 10pt; color: green">"**/Test*.*"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">              </span><span style="font-size: 10pt; color: navy"></fileset></span></div> <div align="left"><span style="font-size: 10pt; color: black">           </span><span style="font-size: 10pt; color: navy"></batchtest></span></div> <div align="left"><span style="font-size: 10pt; color: black">       </span><span style="font-size: 10pt; color: navy"></junit></span></div> <div align="left"><span style="font-size: 10pt; color: black">       </span><span style="font-size: 10pt; color: navy"><junitreport </span><span style="font-size: 10pt; color: navy">todir=</span><span style="font-size: 10pt; color: green">"${report folder}"</span><span style="font-size: 10pt; color: navy">></span></div> <div align="left"><span style="font-size: 10pt; color: black">           </span><span style="font-size: 10pt; color: navy"><fileset</span><span style="font-size: 10pt; color: navy">dir=</span><span style="font-size: 10pt; color: green">"${report folder}"</span><span style="font-size: 10pt; color: navy">></span></div> <div align="left"><span style="font-size: 10pt; color: black">              </span><span style="font-size: 10pt; color: navy"><include </span><span style="font-size: 10pt; color: navy">name=</span><span style="font-size: 10pt; color: green">"TEST-*.xml"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">           </span><span style="font-size: 10pt; color: navy"></fileset></span></div> <div align="left"><span style="font-size: 10pt; color: black">           </span><span style="font-size: 10pt; color: navy"><report </span><span style="font-size: 10pt; color: navy">format=</span><span style="font-size: 10pt; color: green">"frames" </span><span style="font-size: 10pt; color: navy">todir=</span><span style="font-size: 10pt; color: green">"${report folder}"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">       </span><span style="font-size: 10pt; color: navy"></junitreport></span></div> <div align="left"><span style="font-size: 10pt; color: black">    </span><span style="font-size: 10pt; color: navy"></target></span></div> <div align="left"><span style="font-size: 10pt; color: navy"></project></span></div> <div align="left"> </div> </td> </tr> </tbody> </table> <div> </div> <div>鎴戜滑鍦╡clipse涓埄鐢╳indows <span>-></span> show View <span>-></span> Ant 鎵撳紑ant宸ヤ綔紿楀彛錛岀偣鍑?#8221;Add Buildfiles” 灝嗛」鐩殑鏍圭洰褰曚笅鐨刡uild.xml娣誨姞榪涘幓錛岀劧鍚庡湪ant宸ヤ綔紿楀彛鐐硅繍琛屽浘鏍囷紝鍙互鐪嬪埌鎺у埗鍙頒笂鐨勮緭鍑猴細(褰撶劧錛岀敤鍛戒護琛屾柟寮忚繍琛屼篃鍙互)</div> <p><img style="width: 594px; height: 457px" height="457" alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/lemonfamily/29ac98df6f2c4f2ba5f456677b7d8548.png" width="662" /></p> <div style="text-indent: 21.75pt"> </div> <div style="text-indent: 21.75pt">鏁翠釜欏圭洰緙栬瘧鎴愬姛錛屽茍鍦ㄩ」鐩牴鐩綍鐢熸垚涓涓猺eport鏂囦歡澶癸紝鎴戜滑鍙互浠庝腑鐪嬪埌涓浠借緇嗙殑嫻嬭瘯鎶ュ憡錛?/div> <div style="text-indent: 21.75pt"> </div> <p><img style="width: 607px; height: 459px" height="457" alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/lemonfamily/59b24bb3f4504b3da4b497b21b7f3498.png" width="748" /></p> <div style="text-indent: 21.75pt"> </div> <div style="text-indent: 21.75pt">鎴戜滑鍙兘浼氬笇鏈沯unit 鍜宎nt涓烘垜浠彁渚涗腑鏂囩殑嫻嬭瘯鎶ュ憡錛屽緢閬楁喚鐨勬槸錛宎nt騫舵病鏈夌粰鎴戜滑鎻愪緵榪欎釜閫夐」錛岃繕濂斤紝ant鍙互璁╂垜浠氳繃瀹氫箟styledir灞炴э紝鏇存敼鎶ュ憡鏂囦歡鐨勮緭鍑烘牱寮忕殑閰嶇疆鏂囦歡錛氭垜浠鍋氱殑錛屽氨鏄眽鍖栧湪ant瀹夎鏂囦歡澶逛腑鐨刯unit-frames.xsl鍜宩unit-noframes.xsl錛?涔熷彲浠ヤ粠<a >http://download.csdn.net/user/lemonfamily</a> 涓嬭澆鍒拌鏂囦歡)鐢氳嚦鍙互鍦ㄩ噷闈㈠畾涔変竴浜涙垜浠渶瑕佺殑涓滆タ銆?/div> <div>錛堝彲浠ュ弬鐪嬶細<a >http://ant.apache.org/manual/OptionalTasks/junitreport.html</a>錛?/div> <div style="text-indent: 21.75pt"> </div> <table style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none; border-collapse: collapse" cellspacing="0" cellpadding="0" border="1"> <tbody> <tr> <td style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; padding-bottom: 0cm; border-left: windowtext 1pt solid; width: 426.1pt; padding-top: 0cm; border-bottom: windowtext 1pt solid" valign="top" width="568"> <div align="left"><span style="font-size: 10pt; color: navy"><junitreport</span><span style="font-size: 10pt; color: navy">todir=</span><span style="font-size: 10pt; color: green">"${report folder}"</span><span style="font-size: 10pt; color: navy">></span></div> <div align="left"><span style="font-size: 10pt; color: black">           </span><span style="font-size: 10pt; color: navy"><fileset</span><span style="font-size: 10pt; color: navy">dir=</span><span style="font-size: 10pt; color: green">"${report folder}"</span><span style="font-size: 10pt; color: navy">></span></div> <div align="left"><span style="font-size: 10pt; color: black">              </span><span style="font-size: 10pt; color: navy"><include</span><span style="font-size: 10pt; color: navy">name=</span><span style="font-size: 10pt; color: green">"TEST-*.xml"</span><span style="font-size: 10pt; color: navy">/></span></div> <div align="left"><span style="font-size: 10pt; color: black">           </span><span style="font-size: 10pt; color: navy"></fileset></span></div> <div align="left"><span style="font-size: 10pt; color: black">           </span><span style="font-size: 10pt; color: navy"><report</span><span style="font-size: 10pt; color: navy">format=</span><span style="font-size: 10pt; color: green">"frames"</span><span style="font-size: 10pt; color: navy">todir=</span><span style="font-size: 10pt; color: green">"${report folder}"</span><strong><span style="font-size: 10pt; color: red">styledir</span></strong><span style="font-size: 10pt; color: navy">=</span><span style="font-size: 10pt; color: green">"junitreport"</span><span style="font-size: 10pt; color: navy">/></span></div> <div><span style="font-size: 10pt; color: black">       </span><span style="font-size: 10pt; color: navy"></junitreport></span></div> </td> </tr> </tbody> </table> <div style="text-indent: 21.75pt"> </div> <div>榪欐槸鏇存敼鍚庣殑鏁堟灉錛?/div> <div> </div> <p><img style="width: 584px; height: 456px" height="456" alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/lemonfamily/9033d935e0a146598d848ba579d7d78f.png" width="678" /></p> <div> </div> <div>     鐜板湪鎴戜滑宸茬粡鍙互鍋氬埌嫻嬭瘯浠g爜鍜屽紑鍙戜唬鐮佸垎寮錛屽茍鍒╃敤ant鐨勮嚜鍔ㄧ紪璇戝姛鑳戒負鎴戜滑鎵ц嫻嬭瘯璁″垝鍜岀敓鎴愭祴璇曟姤鍛娿傝櫧鐒跺湪緙栧啓嫻嬭瘯妗堜緥鐨勬椂鍊欑‘瀹炴瘮杈冮夯鐑︼紝鎴戜滑闇瑕佽緇嗙殑妯℃嫙瀹為檯搴旂敤涓殑鐜錛屽茍瀵繪壘鍙兘鍑虹幇閿欒鐨勮竟鐣屽煎府鍔╂垜浠湪緙栧啓瀹為檯浠g爜鏃跺敖閲忓噺灝戦殣鎮g殑鍙戠敓錛屽線寰緙栧啓嫻嬭瘯妗堜緥鐨勬椂闂存瘮鎴戜滑緙栧啓瀹為檯浠g爜鐨勬椂闂磋繕闀匡紝浣嗚繖鏍峰仛鏄潪甯稿煎緱鐨勶紝涓涓蔣浠剁殑寮鍙戝懆鏈熸渶闀跨殑60%閮芥槸鑺卞湪瀵繪壘閿欒鍜屽畬鍠勭殑榪囩▼涓?/div> <img src ="http://www.tkk7.com/zhangzhong1018/aggbug/142411.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/zhangzhong1018/" target="_blank">leoli</a> 2007-09-03 18:00 <a href="http://www.tkk7.com/zhangzhong1018/articles/142411.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://llyysp.com" target="_blank">亚洲va中文字幕</a>| <a href="http://69xjj.com" target="_blank">中文字幕成人免费高清在线 </a>| <a href="http://sdzsks.com" target="_blank">欧洲美熟女乱又伦免费视频</a>| <a href="http://zengzeyu.com" target="_blank">亚洲成熟丰满熟妇高潮XXXXX</a>| <a href="http://516kd.com" target="_blank">AV在线播放日韩亚洲欧</a>| <a href="http://116603a.com" target="_blank">久久久久久久岛国免费播放 </a>| <a href="http://x3013.com" target="_blank">成年私人影院免费视频网站</a>| <a href="http://9196528.com" target="_blank">午夜成人无码福利免费视频</a>| <a href="http://bisilover.com" target="_blank">中文字幕亚洲综合精品一区</a>| <a href="http://18888kj.com" target="_blank">日本免费一区二区三区最新vr</a>| <a href="http://worldbiao.com" target="_blank">三级黄色片免费看</a>| <a href="http://yy468.com" target="_blank">亚洲人成在线免费观看</a>| <a href="http://aabbcc567.com" target="_blank">可以免费观看一级毛片黄a</a>| <a href="http://7x966.com" target="_blank">色猫咪免费人成网站在线观看</a>| <a href="http://zzxngk.com" target="_blank">亚洲av无码成人精品国产</a>| <a href="http://88ww99.com" target="_blank">亚洲va国产va天堂va久久</a>| <a href="http://jldledu.com" target="_blank">四虎免费大片aⅴ入口</a>| <a href="http://wangquanai.com" target="_blank">a在线观看免费网址大全</a>| <a href="http://ganbadei.com" target="_blank">男人天堂2018亚洲男人天堂</a>| <a href="http://10242016.com" target="_blank">久久精品九九亚洲精品天堂</a>| <a href="http://147v.com" target="_blank">日韩一品在线播放视频一品免费</a>| <a href="http://276194.com" target="_blank">国产精品免费AV片在线观看</a>| <a href="http://zjhmpaper.com" target="_blank">国产亚洲精品美女2020久久</a>| <a href="http://gz-shunan.com" target="_blank">亚洲国产成人在线视频</a>| <a href="http://tiantangapp.com" target="_blank">中文字幕亚洲专区</a>| <a href="http://cc006.com" target="_blank">精品免费久久久久久成人影院</a>| <a href="http://732r.com" target="_blank">久久aⅴ免费观看</a>| <a href="http://cc19123.com" target="_blank">一区二区三区AV高清免费波多</a>| <a href="http://pufenghotel.com" target="_blank">亚洲国产日韩在线成人蜜芽</a>| <a href="http://26cgw.com" target="_blank">国产亚洲精品无码成人</a>| <a href="http://trgod.com" target="_blank">国产亚洲福利一区二区免费看</a>| <a href="http://s8sb.com" target="_blank">18禁免费无码无遮挡不卡网站 </a>| <a href="http://doubiseo.com" target="_blank">日韩大片免费观看视频播放</a>| <a href="http://www44414.com" target="_blank">激情综合亚洲色婷婷五月APP</a>| <a href="http://kkjk123.com" target="_blank">人人狠狠综合久久亚洲婷婷</a>| <a href="http://www-566846.com" target="_blank">四虎在线播放免费永久视频 </a>| <a href="http://class3g.com" target="_blank">久久精品亚洲男人的天堂</a>| <a href="http://k4h3.com" target="_blank">处破痛哭A√18成年片免费</a>| <a href="http://miya863.com" target="_blank">91成人免费观看</a>| <a href="http://kj555888.com" target="_blank">日本免费久久久久久久网站</a>| <a href="http://zdmaid.com" target="_blank">福利免费在线观看</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>