您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
單元測試之Junit的一些API
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/21 15:35:27 ] 推薦標(biāo)簽:

  在eclipse里面開發(fā)junit真的很方便,只要在相應(yīng)的類文件中點(diǎn)右鍵,"new"-->"junit test case"可以生成一個(gè)測試類,里面大都代碼都有了。

  但要測試的方法的訪問權(quán)限要設(shè)為"public"

  下面簡單介紹一下上邊用到的靜態(tài)類junit.framework.Assert。該類主要包含7個(gè)方法:

1.a(chǎn)ssertEquals()方法,用來查看對象中存的值是否是期待的值,與字符串比較中使用的equals()方法類似;

2.a(chǎn)ssertFalse()和assertTrue()方法,用來查看變量是是否為false或true,如果assertFalse()查看的變量的值是false則測試成功,如果是true則失敗,assertTrue()與之相反。

3.a(chǎn)ssertSame()和assertNotSame()方法,用來比較兩個(gè)對象的引用是否相等和不相等,類似于通過“==”和“!=”比較兩個(gè)對象;

4.a(chǎn)ssertNull()和assertNotNull()方法,用來查看對象是否為空和不為空。

部分代碼

    public void testId() {
      book.setId("001"); //設(shè)置id屬性的值為001
      //使用Assert查看id屬性的值是否為001
      Assert.assertEquals("001", book.getId());
      System.out.println("id屬性被測試!");
    }
    
    public void testName() {
      book.setName("ASP"); //設(shè)置name屬性的值為ASP
      //使用Assert查看name屬性的值是否為JSP,這是個(gè)必然出現(xiàn)錯(cuò)誤的測試
      Assert.assertEquals("JSP", book.getName());
      System.out.println("name屬性被測試!");
    }


  測試成功會(huì)顯示綠色進(jìn)度條
  測試不成功會(huì)顯示紅色進(jìn)度條


public static void main(String[] args) {
      //使用TestSuite組裝測試類
      TestSuite ts = new TestSuite();
      ts.addTestSuite(BookTest.class);
      //textui,命令行方式
      junit.textui.TestRunner.run(ts);
      //swingui,Swing方式
      //junit.swingui.TestRunner.run(ts.getClass());
      //awtui,AWT方式
      //junit.awtui.TestRunner.run(ts.getClass());
    }

  其中TestSuite是用來組織測試類的,通過其addTestSuite()方法將測試類添加到ts對象中,凡是添加到ts中的測試類都將在junit.textui.TestRunner.run()時(shí)被執(zhí)行。此外,您也可以在定義ts對象時(shí)利用其構(gòu)造函數(shù)將測試類添加給ts對象,例如:
TestSuite ts = new TestSuite(BookTest.class);

  這并不會(huì)影響到后續(xù)使用addTestSuite()方法。再有,JUnit提供了三種運(yùn)行方式,junit.textui.TestRunner是命令行方式的,junit.swingui.TestRunner和junit.awtui.TestRunner是可視化方式的,后兩個(gè)這里已經(jīng)注釋掉了,如果您想查看效果,可以將注釋去掉。

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd