锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品视频久久,亚洲人片在线观看天堂无码,亚洲中文字幕视频国产 http://m.tkk7.com/stevenjohn/category/52939.html閭d簺闈掓槬鐨勫瞾鏈?/description>zh-cn Tue, 13 Nov 2012 20:59:56 GMT Tue, 13 Nov 2012 20:59:56 GMT 60 java瀹炵幇澶氫釜鏂囦歡鍘嬬緝 http://m.tkk7.com/stevenjohn/archive/2012/11/13/391278.htmlabin abin Tue, 13 Nov 2012 15:25:00 GMT http://m.tkk7.com/stevenjohn/archive/2012/11/13/391278.html http://m.tkk7.com/stevenjohn/comments/391278.html http://m.tkk7.com/stevenjohn/archive/2012/11/13/391278.html#Feedback 0 http://m.tkk7.com/stevenjohn/comments/commentRss/391278.html http://m.tkk7.com/stevenjohn/services/trackbacks/391278.html import java.io.*; import java.util.*; import java.util.zip.ZipOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; public class FileMgr { public FileMgr() { } /** * 鍘嬬緝鏂囦歡 * @param srcfile File[] 闇瑕佸帇緙╃殑鏂囦歡鍒楄〃 * @param zipfile File 鍘嬬緝鍚庣殑鏂囦歡 */ public static void ZipFiles(java.io.File[] srcfile, java.io.File zipfile) { byte[] buf = new byte[1024]; try { // Create the ZIP file ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipfile)); // Compress the files for (int i = 0; i < srcfile.length; i++) { FileInputStream in = new FileInputStream(srcfile[i]); // Add ZIP entry to output stream. out.putNextEntry(new ZipEntry(srcfile[i].getName())); // Transfer bytes from the file to the ZIP file int len; while ( (len = in.read(buf)) > 0) { out.write(buf, 0, len); } // Complete the entry out.closeEntry(); in.close(); } // Complete the ZIP file out.close(); System.out.println("鍘嬬緝瀹屾垚."); } catch (IOException e) { e.printStackTrace(); } } /** * 瑙e帇緙?br /> * @param zipfile File 闇瑕佽В鍘嬬緝鐨勬枃浠?br /> * @param descDir String 瑙e帇鍚庣殑鐩爣鐩綍 */ public static void UnZipFiles(java.io.File zipfile, String descDir) { try { // Open the ZIP file ZipFile zf = new ZipFile(zipfile); for (Enumeration entries = zf.entries(); entries.hasMoreElements(); ) { // Get the entry name ZipEntry entry = ( (ZipEntry) entries.nextElement()); String zipEntryName = entry.getName(); InputStream in = zf.getInputStream(entry); // System.out.println(zipEntryName); OutputStream out = new FileOutputStream(descDir + zipEntryName); byte[] buf1 = new byte[1024]; int len; while ( (len = in.read(buf1)) > 0) { out.write(buf1, 0, len); } // Close the file and stream in.close(); out.close(); System.out.println("瑙e帇緙╁畬鎴?"); } } catch (IOException e) { e.printStackTrace(); } } }
鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/Jonthanoscar/archive/2007/08/09/1733812.aspx
嫻嬭瘯鏂規硶錛坖unit4嫻嬭瘯錛夛細
package lc.abin.lee.basic.zip.test;
import java.io.File;
import lc.abin.lee.basic.zip.FileMgr;
import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test;
public class testFileZip { @BeforeClass public static void init(){ System.out.println("initialize zip"); } @Test public void testCreateZIP(){ File in=new File("D:\\abin.zip"); File[] file=new File[]{in}; File zip=new File("D:\\abin.zip"); FileMgr mgr=new FileMgr(); mgr.ZipFiles(file, zip); } @Test public void testParseZIP(){ File in=new File("D:\\abin.zip"); String filePath="D:/home/"; FileMgr mgr=new FileMgr(); mgr.UnZipFiles(in, filePath); } @AfterClass public static void destroy(){ System.out.println("destroy zip"); } }
]]>Junit 嫻嬭瘯鏂規硶 http://m.tkk7.com/stevenjohn/archive/2012/11/02/390680.htmlabin abin Fri, 02 Nov 2012 06:40:00 GMT http://m.tkk7.com/stevenjohn/archive/2012/11/02/390680.html http://m.tkk7.com/stevenjohn/comments/390680.html http://m.tkk7.com/stevenjohn/archive/2012/11/02/390680.html#Feedback 0 http://m.tkk7.com/stevenjohn/comments/commentRss/390680.html http://m.tkk7.com/stevenjohn/services/trackbacks/390680.html 鏈枃浠嬬粛鍦∟etBeans寮鍙戝伐鍏蜂腑緙栧啓鍜岃繍琛孞Unit鍗曞厓嫻嬭瘯鐨勫熀紜閮ㄥ垎銆傛祴璇曚竴涓簲鐢ㄧ▼搴忔槸寮鍙戝懆鏈熺殑涓閮ㄥ垎錛岀紪鍐欏拰緇存姢鍗曞厓嫻嬭瘯鍙互淇濊瘉浣犳簮浠g爜涓嫭绔嬬殑鏂規硶鍙互姝e父宸ヤ綔銆?/p>
NetBeans IDE 6.9 涓寘鍚獼Unit 3.5鍜孞Unit 4.5涓や釜鐗堟湰錛屽彲鑷閫夋嫨銆傦紙鍏充簬浣跨敤JUnit鐨勬洿澶氫俊鎭紝鍙傝僿ww.junit.org銆傦級
鐩綍 涓銆佹柊寤篔ava嫻嬭瘯鍖?br />浜屻佸垱寤篔ava綾誨簱 涓夈丣Unit娉ㄩ噴 鍥涖佺畝鍗曠殑JUnit4嫻嬭瘯鏂規硶 浜斻佽繍琛屾祴璇?br />
涓銆佹柊寤篔ava嫻嬭瘯鍖?/p>鐢ㄤ簬瀛樻斁JUnit嫻嬭瘯綾誨簱鐨勫寘 1.鍙沖嚮“嫻嬭瘯鍖?#8221;>“鏂板緩”>“Java鍖?#8221;銆?br />2.鍦?#8220;鏂板緩Java鍖?#8221;瀵硅瘽妗嗕腑錛岃緭鍏ュ寘鍚嶏紝閫夋嫨浣嶇疆錛堜綅緗渶濂戒負“嫻嬭瘯鍖?#8221;錛屼互渚夸簬鍖哄垎婧愮爜鍖呬笌嫻嬭瘯鍖咃級銆?br />3.“瀹屾垚”鍗沖彲銆?br />
浜屻佸垱寤簀ava綾誨簱嫻嬭瘯
鐢ㄤ簬涓簀ava綾誨簱鏂囦歡鍒涘緩嫻嬭瘯銆?br />1.鍙沖嚮瑕佸垱寤烘祴璇曠殑綾繪枃浠訛紝閫夋嫨“宸ュ叿”>“鍒涘緩 JUnit 嫻嬭瘯”銆?br />2.鍦?#8220;閫夋嫨 JUnit 鐗堟湰”瀵硅瘽妗嗕腑錛岄夋嫨“JUnit 4”銆?br />3.寮瑰嚭“鍒涘緩嫻嬭瘯”瀵硅瘽妗嗭紝鍦?#8220;鍒涘緩嫻嬭瘯”瀵硅瘽妗嗕腑鍙互鍒涘緩鐨勬祴璇曞懡鍚嶃侀夋嫨浣嶇疆錛堟渶濂介夋嫨嫻嬭瘯鍖咃級銆?br />娉細NetBeans涓涓嬈′嬌鐢?IDE 鍒涘緩嫻嬭瘯妗嗘灦鏃訛紝IDE 浼氭彁紺洪夋嫨 JUnit 鐗堟湰銆傞夋嫨JUnit4鍚庝細鑷姩鍒犻櫎JUnit 3搴擄紝涓嬫鍐嶅垱寤烘椂錛屼細榛樿鍒涘緩JUnit4鐨勬祴璇曘?br />
涓夈丣Unit娉ㄩ噴
JUnit娉ㄩ噴璺熷湪嫻嬭瘯鏂規硶鍓嶏紝瀵規祴璇曟柟娉曠殑綾誨瀷榪涜璇存槑銆?br />
1.JUnit嫻嬭瘯娉ㄩ噴
嫻嬭瘯娉ㄩ噴 錛欯Test 鏍囨敞灝嗘柟娉曟爣璁頒負嫻嬭瘯鏂規硶銆?br />
2.嫻嬭瘯綾匯佹祴璇曠殑鍒濆鍖栧嚱鏁板拰閲婃斁鏂規硶
鍦?JUnit 4 涓紝鍙互浣跨敤鏍囨敞鏉ユ爣璁頒互涓嬬被鍨嬬殑鍒濆鍖栧嚱鏁板拰閲婃斁鏂規硶銆?br />嫻嬭瘯綾誨垵濮嬪寲鍑芥暟 錛欯BeforeClass 鏍囨敞灝嗘柟娉曟爣璁頒負嫻嬭瘯綾誨垵濮嬪寲鏂規硶銆傛祴璇曠被鍒濆鍖栨柟娉曞彧鑳借繍琛屼竴嬈★紝騫朵笖鍦ㄦ祴璇曠被涓殑浠諱綍鍏朵粬鏂規硶涔嬪墠榪愯銆?嫻嬭瘯綾婚噴鏀炬柟娉?/strong>錛欯AfterClass 鏍囨敞灝嗘柟娉曟爣璁頒負嫻嬭瘯綾婚噴鏀炬柟娉曘傛祴璇曠被閲婃斁鏂規硶鍙兘榪愯涓嬈★紝騫朵笖鍦ㄦ祴璇曠被涓殑浠諱綍鍏朵粬鏂規硶瀹屾垚涔嬪悗榪愯銆?嫻嬭瘯鍒濆鍖栧嚱鏁?/strong>錛欯Before 鏍囨敞灝嗘柟娉曟爣璁頒負嫻嬭瘯鍒濆鍖栨柟娉曘傛祴璇曞垵濮嬪寲鏂規硶鍦ㄦ祴璇曠被涓殑鍚勬祴璇曠敤渚嬩箣鍓嶈繍琛屻傝繍琛屾祴璇曚笉闇瑕佹祴璇曞垵濮嬪寲鏂規硶錛屼絾鏄紝濡傛灉闇瑕佸湪 榪愯嫻嬭瘯涔嬪墠鍒濆鍖栦竴浜涘彉閲忥紝鍒欏彲浠ヤ嬌鐢ㄦ祴璇曞垵濮嬪寲鏂規硶銆?嫻嬭瘯閲婃斁鏂規硶 錛欯After 鏍囨敞灝嗘柟娉曟爣璁頒負嫻嬭瘯閲婃斁鏂規硶銆傛祴璇曢噴鏀炬柟娉曞湪嫻嬭瘯綾諱腑鐨勫悇嫻嬭瘯鐢ㄤ緥涔嬪悗榪愯銆傝繍琛屾祴璇曚笉闇瑕佹祴璇曢噴鏀炬柟娉曪紝浣嗘槸錛屽彲鑳介渶瑕佷嬌鐢ㄩ噴鏀炬柟娉?br />鏉ユ竻鐞嗚繍琛屾祴璇曠敤渚嬫椂鎵闇鐨勪換浣曟暟鎹?
3.紱佺敤嫻嬭瘯娉ㄩ噴
紱佺敤嫻嬭瘯 錛欯Ignore 鏍囨敞灝嗚鏂規硶紱佺敤銆?br />
鍥涖佺畝鍗曠殑JUnit4嫻嬭瘯鏂規硶
鍒涘緩java綾誨簱嫻嬭瘯鍚庯紝鍒嗙敓鎴愯綾繪墍鏈夋柟娉曠殑嫻嬭瘯鏂規硶銆傦紙嫻嬭瘯鏂規硶寰堝錛?br />鏂█ 錛?br />1.assertEquals( 鏈熸湜鍊? 瀹為檯鍊?) // 瀹為檯鍊肩敤琚祴璇曟柟娉曚唬鏇挎椂灝辨槸瀵硅鏂規硶鐨勬祴璇?br />2.assertTrue( 瀹為檯鍊?) 3.assert False(瀹為檯鍊? 娉細姝ゆ柟娉曚嬌鐢?JUnit assertTrue 鍜?assertFalse 鏂規硶鏉ユ祴璇曞悇縐嶅彲鑳界殑緇撴灉銆傝閫氳繃姝ゆ柟娉曠殑嫻嬭瘯錛宎ssertTrue 蹇呴』鍏ㄩ儴涓?true錛屽茍涓?assertFalse 蹇呴』 鍏ㄩ儴涓?false銆?br />瓚呮椂 錛?br />4.@Test(timeout=1000) // 瓚呮椂琚緗負 1000 姣銆?br />寮傚父 : 5.@Test(expected=IllegalArgumentException.class) // 榪斿洖寮傚父紱佺敤嫻嬭瘯 : 6.@Ignore // 鍦ˊTest 涓婃柟娣誨姞 @Ignore 鏍囨敞鏉ョ鐢ㄦ祴璇曘?br />
浜斻佽繍琛屾祴璇?/p>1.榪愯鍗曚釜嫻嬭瘯錛?br />鍙沖嚮瑕佽繍琛岀殑嫻嬭瘯錛岄夋嫨“榪愯鏂囦歡”銆?br />2.榪愯鏁翠釜嫻嬭瘯錛?br />1)鍙沖嚮瑕佽繍琛岀殑嫻嬭瘯鍖咃紝閫夋嫨“鏂板緩”>“鍏跺畠”鎵撳紑“鏂板緩鍚戝”銆?br />2)綾誨埆閫夋嫨“JUnit”錛屾枃浠剁被鍨嬮夋嫨“嫻嬭瘯濂椾歡”錛岀偣鍑?#8220;涓嬩竴姝?#8221;銆?br />3)杈撳叆嫻嬭瘯鍚嶏紝閫夋嫨浣嶇疆錛屽強瑕佹祴璇曠殑鍖呫?br />4)“瀹屾垚”鍗沖彲銆?br />姝ゆ椂榪愯榪欎釜嫻嬭瘯濂椾歡鍗沖彲榪愯鍖呭唴鐨勬墍鏈夋祴璇曘?br />
]]> Junit鍗曞厓嫻嬭瘯妗嗘灦浠嬬粛 http://m.tkk7.com/stevenjohn/archive/2012/11/02/390676.htmlabin abin Fri, 02 Nov 2012 06:16:00 GMT http://m.tkk7.com/stevenjohn/archive/2012/11/02/390676.html http://m.tkk7.com/stevenjohn/comments/390676.html http://m.tkk7.com/stevenjohn/archive/2012/11/02/390676.html#Feedback 0 http://m.tkk7.com/stevenjohn/comments/commentRss/390676.html http://m.tkk7.com/stevenjohn/services/trackbacks/390676.html 杞歡嫻嬭瘯 ___________________________________________________________________________ Unit Test鏄敱紼嬪簭鍛樻湰韜潵緙栧啓鐨勩? 浠ヤ笅浠嬬粛Junit鍗曞厓嫻嬭瘯妗嗘灦錛氬畼緗戝湴鍧www.junit.org JUnit鏄敱 Erich Gamma 鍜?Kent Beck 緙栧啓鐨勪竴涓洖褰掓祴璇曟鏋訛紙regression testing framework錛夈侸unit嫻嬭瘯鏄▼搴忓憳嫻嬭瘯錛屽嵆鎵璋撶櫧鐩掓祴璇曪紝鍥犱負紼嬪簭鍛樼煡閬撹嫻嬭瘯鐨勮蔣浠跺浣曪紙How錛夊畬鎴愬姛鑳藉拰瀹屾垚浠涔堟牱錛圵hat錛夌殑鍔熻兘銆? Junit3.x ___________________________________________________________________________ Junit3.x涓嬌鐢ㄥ寘junit.framework.* 1. 蹇呴』緇ф壙TestCase綾? public class CalculatorTest extends TestCase { private Calculator cal; public CalculatorTest() { } public CalculatorTest(String name) { super(name); } public void setUp() { System.out.println("...........setUp.............."); cal = new Calculator(); } public void testAdd() { int result = cal.add(1, 2); Assert.assertEquals("璁$畻娣誨姞澶辮觸", 3, result); } public void tearDown() { System.out.println("........tearDown........"); } } 2. 嫻嬭瘯鐢ㄤ緥錛圱est Case錛夋槸鍗曞厓嫻嬭瘯鐨勪竴涓潪甯擱噸瑕佺殑鏂歸潰銆? 3. 鍗曞厓嫻嬭瘯涓昏鏄敤鏉ュ垽鏂▼搴忕殑鎵ц緇撴灉涓庤嚜宸辨湡鏈涚殑緇撴灉鏄惁涓鑷淬? 4. 鍦↗unit3.x涓紝嫻嬭瘯鏂規硶瑙勫垯瀹氫箟濡備笅錛? 1) public 2) void 3) 鏃犲弬鏁扮殑 4) 嫻嬭瘯鏂規硶鍚嶄互test寮澶? 5. Test Case涔嬮棿涓瀹氳淇濇寔瀹屽叏鐨勭嫭绔嬫э紝涓嶅厑璁稿嚭鐜頒換浣曠殑渚濊禆鍏崇郴銆? 6. 鎴戜滑涓嶈兘渚濊禆浜庢祴璇曟柟娉曠殑鎵ц欏哄簭銆? 7. 鍏充簬setUp涓巘earDown鏂規硶鐨勬墽琛岄『搴忥細 1錛?setUp 2錛?testAdd 3錛?tearDown 8. Junit涓ょ綾誨瀷閿欒錛孎ailure 鍜?Error Failure錛氭寚棰勬湡緇撴灉涓庡疄闄呯粨鏋滀笉鍚岋紝渚嬪褰撲綘浣跨敤assertEquals鎴栬卆ssertXXX鏂規硶鏂█澶辮觸鏃訛紝鎴栬呰皟鐢╢ail鏂規硶錛屽氨浼氭姤鍑篎ailure錛岃繖鏃惰媯鏌ユ祴璇曟柟娉曢昏緫璁捐鏄惁鏈夎銆? public void testDevide() { System.out.println(".........testDevide()........"); int expected = 0; int actual = 0; try { actual = cal.devide(1, 3); } catch (Exception e) { Assert.fail("嫻嬭瘯澶辮觸"); //涓嶅簲璇ユ墽琛岃繖孌? } Assert.assertEquals(expected, actual); } Error錛氭寚紼嬪簭鍦ㄦ柇璦鎵ц涔嬪墠錛岀▼搴忓氨鍥犱負鏌愮閿欒鑰屽紩鍙戝紓甯革紝瀵艱嚧紼嬪簭緇堟錛屼緥濡傛祴璇曟柟娉曚腑鍥犳姏鍑烘煇涓紓甯革紝浣垮緱嫻嬭瘯鏂規硶鏃犳硶姝g‘鎵ц鍒版柇璦灝辯粨鏉燂紝榪欐椂浣犺媯鏌ユ祴璇曠殑鏂規硶鏄惁鏈夋湭鑰冭檻鍒扮殑鎯呭喌鑰屽紩璧鋒祦紼嬬獊鐒朵腑鏂? 涔熷氨鏄浠g爜涓姏鍑轟簡寮傚父絳夊獎鍝嶄唬鐮佹甯告墽琛岀殑鎯呭喌錛屾瘮濡侫rrayIndexOfBoundsException銆丯ullPointException錛屼篃鍙兘鏄鐩樺凡婊°佺綉緇滀腑鏂瓑絳夊閮ㄧ幆澧冨け璐ユ墍甯︽潵鐨勫獎鍝嶃? 棣栧厛澶勭悊Error錛岀劧鍚庡湪澶勭悊Failure. 9. 榪愯嫻嬭瘯鐢ㄤ緥 1) IDE涓紝濡侲clipse宸ュ叿宸茬粡鍐呯疆浜咼unit錛屾墍浠ュ彲浠ョ洿鎺ュ湪嫻嬭瘯綾諱腑榧犳爣鍙抽敭Run--Junit Test榪愯銆? 2) 浣跨敤junit.textui.TestRunner綾昏繍琛屾祴璇曠被. public static void main(String[] args) { junit.textui.TestRunner.run(MyStackTest.class); junit.textui.TestRunner.run(new CalculatorTest("testAdd")); } 3) 浣跨敤TestSuite a) 涓嬈″彲浠ヨ繍琛屽涓祴璇曠被榪涜嫻嬭瘯 public class TestAll { public static Test suite() { TestSuite suite = new TestSuite(); suite.addTestSuite(OOOTest.class); suite.addTestSuite(XXXTest.class); suite.addTestSuite(YYYTest.class); return suite; } public static void main(String[] args) { TestRunner.run(suite()); } } b) 閫氳繃IDE鑷姩鍙戠幇suite()鏂規硶錛屽繀欏葷戶鎵縏estCase public class TestAll extends TestCase { public static Test suite() { TestSuite suite = new TestSuite(); suite.addTestSuite(OOOTest.class); suite.addTestSuite(XXXTest.class); suite.addTestSuite(YYYTest.class); return suite; } } c) 緇勫悎妯″紡錛岀粍鍚堟柟寮忓鍏冨寲 …… public static Test suite() { TestSuite suite = new TestSuite(); suite.addTest(new XXXTest("testABC")); // 鎵цtestABC()鏂規硶 suite.addTest(YYYTest.suite()); // suite() 浼犲洖TestSuite瀹炰緥 suite.addTestSuite(OOOTest.class);//鑷姩鏌ユ壘OOOTest綾諱腑testXXX鏂規硶 return suite; } 10.嫻嬭瘯涔嬪墠鏄粈涔堢姸鎬侊紝鍦ㄦ祴璇曟墽琛屽畬鎴愬悗灝卞簲璇ユ槸浠涔堢姸鎬侊紝鑰屼笉搴旇鐢變簬嫻嬭瘯鎵ц鐨勫師鍥犲埌瀵艱嚧浜嗙姸鎬佸彂鐢熶簡鍙樺寲銆? Junit4.x ___________________________________________________________________________ Junit4.x寮濮嬫敮鎸丄nnotation娉ㄨВ鎶鏈紝鍦ㄧ紪鍐欐祴璇曠敤渚嬫椂綆鍖栦笉灝戝姩浣? Junit4.x涓嬌鐢ㄧ殑鍖卭rg.junit.* Junit4.x鏄吋瀹逛互鍓嶇増鏈? Eclipse涓嚜甯︿簡Junit4錛岀増鏈負junit4.3.1. BC-EC宸ョ▼涓嬌鐢ㄧ殑鐗堟湰涓篔unit4.4錛岀洰鍓嶆渶鏂扮増鏈?.11 1. 鏃犻渶緇ф壙TestCase綾伙紝鎵鏈夎@Test娉ㄨВ鎵淇グ鐨刾ublic錛寁oid錛屾棤鍙傛暟鐨勬柟娉曢兘鏄祴璇曠敤渚嬶紝Junit鑷姩鏌ユ壘娉ㄨВ鏂規硶騫舵墽琛屾祴璇曘? @Test public void testAdd() { int result = cal.add(1, 2); Assert.assertEquals("璁$畻娣誨姞澶辮觸", 3, result); } 2. 铏界劧Junit4.x涓祴璇曠被涓殑鏂規硶鍚嶇О鍙互闅忎究鍙栵紝浣嗘槸寤鴻璺焜unit3.x涓祴璇曠被鏂規硶鍛藉悕綰﹀畾涓鑷達紝緇熶竴鏂規硶鍚嶄互test寮澶淬? 3. 浣跨敤@Before娉ㄨВ鎵淇グ鐨勬柟娉曞悓junit3.x涓殑setUp鏂規硶鐨勫姛鑳斤紝浣跨敤@After娉ㄨВ鎵淇敼鐨勬柟娉曞悓junit3.x嫻嬭瘯綾諱腑鐨則earDown鏂規硶鐨勫姛鑳姐?@Before鍜孈After鍙互鍦ㄥ嬈℃寚瀹? @Before public void init() { System.out.println("...........setUp.............."); cal = new Calculator(); } @After public void destroy() { System.out.println("........tearDown........"); } 4. 閫氳繃@BeforeClass鍜孈AfterClass娉ㄨВ鏍囨敞public錛宻tatic錛寁oid錛屾棤鍙傛暟鐨勭被鏂規硶銆傚湪鎵鏈夋祴璇曟柟娉曟墽琛屼箣鍓嶅拰涔嬪悗鎵ц銆? @BeforeClass public static void setUpBeforeClass() { ... } @AfterClass public static void tearDownAfterClass() { ... } 5. 浣跨敤@Ignore娉ㄨВ鎵淇グ鐨勬柟娉曪紙鍙互琛ㄧず灝氭湭緙栧啓瀹岃鐢ㄤ緥鎴栬呮兂紱佺敤璇ョ敤渚嬶級錛岃繍琛屽櫒浼氬拷鐣ヨ鏂規硶鐨勬祴璇曪紱褰撲慨楗扮被鏃訛紝榪愯鍣ㄤ細蹇界暐鎺夋墍鏈夋祴璇曟柟娉曘? @Test @Ignore("灝氭湭瀹屾垚") public void testMultiply() { … … } Eclipse涓璊unit鎵ц緇撴灉涓細鎻愮ず濡備笅錛? 6. 棰勬湡寮傚父錛? 涔熷彲浠ヤ嬌鐢ㄥ湪junit3.x涓彁鍒扮殑fail()鏉ユ祴璇曢鏈熸姏鍑哄紓甯哥殑鎯呭喌銆? public void testDevideByZero() { Throwable tx = null; try { cal.devide(1, 0); Assert.fail("搴旇鎸夐鏈熸姏鍑哄紓甯革紝嫻嬭瘯澶辮觸"); } catch (Exception e) { tx = e; } Assert.assertNotNull(tx.getMessage()); Assert.assertEquals(ArithmeticException.class, tx.getClass()); Assert.assertEquals("闄ゆ暟涓嶈兘涓?錛?, tx.getMessage()); } junit4涓嬌鐢═est涓殑expected灞炴ц揪鍒扮浉鍚岀殑鍔熻兘錛屼唬鐮侀噺灝忓緢澶? @Test(expected = ArithmeticException.class) public void testDevideByZero() throws Exception { cal.devide(1, 0); // 搴旇鎶涘嚭寮傚父 } 7. 浣跨敤@Test(timeout = 2000) 娉ㄨВ棰勬湡鏌愪簺鎿嶄綔搴旇鍦ㄦ寚瀹氭椂闂村唴瀹屾垚錛屽惁鍒欐祴璇曞け璐ャ?nbsp; 鍗曚綅鏄縐掋? 8. 嫻嬭瘯榪愯鍣細鍙互浣跨敤@RunWith娉ㄨВ浣跨敤鐨剅unner. Junit4涓唴緗殑榪愯鍣ㄦ湁錛? a) 闄勫甫鍏煎junit3.x榪愯鍣? org.junit.internal.runners.Junit38ClassRunner b) 鍙傛暟鍖栬繍琛屽櫒錛屽彲璁懼畾涓緇勫弬鏁幫紝姣忔榪愯嫻嬭瘯鏃惰嚜鍔ㄥ湪鎸囧畾浣嶇疆緇欎簣涓嶅悓鐨勫弬鏁般? org.junit.runners.Parameterized c) Suite榪愯鍣紝濡傚悓Junit3.x涓殑TestSuite, 鐢ㄤ簬浠繪剰緇勫悎嫻嬭瘯. org.junit.runner.Suite 9. 鍙傛暟鍖栬繍琛屽櫒錛? a) 浣跨敤娉ㄨВ@RunWith(value = Parameterized.class) 鎸囧畾鍙傛暟鍖栬繍琛屽櫒, b) 瀹氫箟濂戒竴涓柟娉曪紝榪斿洖涓緇勫弬鏁版暟鎹紝浣跨敤娉ㄨВ@Parameterized.Parameters c) 嫻嬭瘯綾繪瀯閫犳柟娉曚腑涓哄悇涓弬鏁拌祴鍊鹼紙鏋勯犳柟娉曟槸鐢盝unit璋冪敤鐨勶級 d) 鏂規硶蹇呴』鏄痯ublic錛宻tatic錛寁oid錛宯o-arg錛岃繑鍥炰竴涓狢ollection銆? e) 鏂規硶涓瘡涓厓绱犲繀欏繪槸涓涓竴緇存暟緇勶紝鏁扮粍涓涓涓負棰勬湡鍊鹼紝涔嬪悗鍙傛暟涓錛屽弬鏁頒簩絳夈? @RunWith(value = Parameterized.class) public class ParamCalculatorTest { private Calculator cal; private int expected; private int para1; private int para2; @Parameterized.Parameters public static Collection<Integer[]> getParamData() { Integer[][] data = new Integer[][] { { 5, 3, 2 }, { 3, 1, 2 }, { 2, 1, 1 } }; return Arrays.asList(data); } @Before public void init() { cal = new Calculator(); } public ParamCalculatorTest(int expected, int para1, int para2) { this.expected = expected; this.para1 = para1; this.para2 = para2; } @Test public void testAdd() { int result = cal.add(para1, para2); Assert.assertEquals(expected, result); } @After public void destory() { } } 10.Suite榪愯鍣細鍦↗unit4涓紝濡傛灉鎯沖悓鏃惰繍琛屽涓祴璇曪紝闇瑕佷嬌鐢ㄤ袱涓敞瑙o細 @RunWith(value = Suite.class) @SuiteClasses 浣跨敤浠ヤ笂涓や釜娉ㄨВ浼氶氳繃Suite榪愯鍣ㄦ潵鎵ц嫻嬭瘯錛屽湪SuiteClasses涓寚瀹氭祴璇曠被錛屼篃鍙互緇х畫鎸囧畾Suite錛岃繖鏍稪unit浼氬湪鍘繪煡鎵鵑噷闈㈢殑嫻嬭瘯綾誨茍鎵ц銆? @RunWith(value = Suite.class) @SuiteClasses( { CalculatorTest.class, MyStackTest.class }) public class SuiteCalculatorMyStackTest { … … } ]]>
主站蜘蛛池模板:
亚洲乱码日产精品a级毛片久久 |
亚洲AV噜噜一区二区三区
|
免费A级毛片无码视频 |
亚洲精品无码不卡在线播放HE |
免费无码一区二区 |
亚洲免费无码在线 |
2022国内精品免费福利视频 |
亚洲国产成人爱av在线播放 |
七次郎成人免费线路视频
|
在线精品一卡乱码免费 |
亚洲色大成网站WWW久久九九 |
好吊色永久免费视频大全 |
在线亚洲人成电影网站色www |
中文字幕不卡免费视频 |
亚洲精品无码专区在线在线播放
|
亚洲香蕉网久久综合影视 |
久久WWW免费人成—看片 |
亚洲色无码专区在线观看 |
免费观看男人吊女人视频 |
亚洲一区二区三区日本久久九 |
99热这里只有精品6免费 |
亚洲另类春色校园小说 |
AV片在线观看免费 |
亚洲av日韩av永久无码电影 |
无码国产亚洲日韩国精品视频一区二区三区
|
人妻无码久久一区二区三区免费
|
在线免费观看h片 |
亚洲日韩激情无码一区 |
免费在线看黄网站 |
亚洲天堂电影在线观看 |
在线观看视频免费国语 |
亚洲日韩在线中文字幕综合 |
亚洲国产小视频精品久久久三级 |
中文字幕av无码不卡免费 |
久久亚洲日韩精品一区二区三区 |
日本zzzzwww大片免费 |
亚洲变态另类一区二区三区 |
亚洲精品tv久久久久 |
国产va在线观看免费 |
亚洲制服丝袜中文字幕 |
啊灬啊灬别停啊灬用力啊免费看 |