溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行單元測試?yán)鱆Unit的實(shí)踐與分析

發(fā)布時間:2022-01-11 16:06:46 來源:億速云 閱讀:142 作者:柒染 欄目:編程語言

今天就跟大家聊聊有關(guān)如何進(jìn)行單元測試?yán)鱆Unit的實(shí)踐與分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

單元測試工具Junit是一個開源項(xiàng)目,昨天學(xué)習(xí)了一下這個東西,總結(jié)下心得。

1.創(chuàng)建相應(yīng)的test類

如何進(jìn)行單元測試?yán)鱆Unit的實(shí)踐與分析

package:測試類存放位置。

Name:測試類名字。

setUp,tearDown:測試類創(chuàng)建測試環(huán)境以及銷毀測試環(huán)境,這兩個方法只執(zhí)行一次。

Class Under test:需要被測試的類路徑及名稱。

點(diǎn)擊下一步就會讓你選擇需要給哪些方法進(jìn)行測試。

測試類創(chuàng)建完成后在類中會出現(xiàn)你選擇的方法的測試方法:

package test.com.boco.bomc.alarmrelevance.show.dao;   import junit.framework.TestCase; import org.junit.After; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test;  public class ShowStrategyDaoTest extends TestCase{      @BeforeClass     public static void setUpBeforeClass() throws Exception {         System.out.println("OK1");     }      @Before     public void setUp() throws Exception {     }      @After     public void tearDown() throws Exception {     }      @Test     public final void testGetDataByApplyNameOrHostIp() {         fail("Not yet implemented"); // TODO     }      @Test     public final void testGetDataByObject() {         fail("Not yet implemented"); // TODO     }      @Test(timeout=1)     public final void testGetApplyUser() {         fail("Not yet implemented"); // TODO     }      @Test     public final void testGetVoiceUser() {         fail("Not yet implemented"); // TODO     }      @Test     public final void testSearchInAera() {         fail("Not yet implemented"); // TODO     }      @Test     public final void testGetDataByPolicyId() {         fail("Not yet implemented"); // TODO     } }

其中的@before,@test,@after表示在執(zhí)行測試方法前執(zhí)行,需執(zhí)行的測試方法,在測試方法執(zhí)行后執(zhí)行。

可以給@test添加timeout,exception參數(shù)。

在測試方法中可以用assertEquals(arg0,arg1);

可以用TestSuite把多個測試類集中到一起,統(tǒng)一執(zhí)行測試,例如:

package test.com.boco.bomc.alarmrelevance.show.dao;  import junit.framework.Test; import junit.framework.TestSuite;  public class TestAll {     public static Test suite(){         TestSuite suite = new TestSuite("Running all the tests");         suite.addTestSuite(ShowStrategyDaoTest.class);         suite.addTestSuite(com.boco.bomc.alarmrelevance.show.dao.ShowStrategyDaoTest.class);         return suite;     } }

另外還可以把多個TestSuite組合到一個Test類里面,例如:

package test.com.boco.bomc.alarmrelevance.show.dao;  import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite;  public class TestAll1 extends TestCase {     public static Test suite(){         TestSuite suite1 = new TestSuite("TestAll1");         suite1.addTest(TestAll.suite());         suite1.addTest(TestAll2.suite());         return suite1;     } }

這就更方便與集中測試,一個方法測試完了,可以對個方法,多個類一起測試。

注意:在寫代碼的時候TestSuite,TestCase,Test的包不要到錯了。

測試效果如下:

如何進(jìn)行單元測試?yán)鱆Unit的實(shí)踐與分析

看完上述內(nèi)容,你們對如何進(jìn)行單元測試?yán)鱆Unit的實(shí)踐與分析有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI