主流的單元測試工具之-JAVA新特性-Annotation

來源:互聯網
上載者:User

標籤:

寫組長 梁偉龍

1:什麼是Annotation?

Annotation,即“@xxx”(如@Before,@After,@Test(timeout=xxx),@ignore),這個單詞一般是翻譯成中繼資料,是JAVA的一個新特性。

 

 

2:中繼資料的簡單介紹:

@Before:
使用了該中繼資料的方法在每個測試方法執行之前都要執行一次。

@After:
使用了該中繼資料的方法在每個測試方法執行之後要執行一次。

注意:@Before和@After標示的方法只能各有一個。這個相當於取代了JUnit以前版本中的setUp和tearDown方法,當然你還可以繼續叫這個名字,不過JUnit不會霸道的要求你這麼做了。

@Test(expected=*.class)
在JUnit4.0之前,對錯誤的測試,我們只能通過fail來產生一個錯誤,並在try塊裡面assertTrue(true)來測試。現在,通過@Test中繼資料中的expected屬性。expected屬性的值是一個異常的類型

@Test(timeout=xxx):
該中繼資料傳入了一個時間(毫秒)給測試方法,
如果測試方法在制定的時間之內沒有運行完,則測試也失敗。

@ignore:
該中繼資料標記的測試方法在測試中會被忽略。當測試的方法還沒有實現,或者測試的方法已經過時,或者在某種條件下才能測試該方法(比如需要一個資料庫聯結,而在本地測試的時候,資料庫並沒有串連),那麼使用該標籤來標示這個方法。同時,你可以為該標籤傳遞一個String的參數,來表明為什麼會忽略這個測試方法。比如:@lgnore(“該方法還沒有實現”),在執行的時候,僅會報告該方法沒有實現,而不會運行測試方法。

3:在JAVA中用Annotation進行單元測試:

在這裡定義兩個方法:

max(int x,int y);                          //兩數中最大的

min(int x,int y);                          //兩數中最小的

具體過程:(大家按我說的做,先體驗體驗)

a:開啟Exlipse,建立一個項目Junit_Test(名字隨便起);

b:點擊下一步,選擇“庫”;b:點擊下一步,出現的頁面選擇: c:選擇右側的“添加庫”,在出現的頁面選擇“JUnit”; d:點擊下一步,然後點擊完成!e:然後在當前項目下,建一個包,一個類,寫入代碼:如下: public class printfAnnotation { int a,b; public void max(int x,int y){int maxNum;if(x<y)maxNum=y;else{maxNum=x;}System.out.println(maxNum);}public void min(int x,int y){int minNum;if(x<y)minNum=x;else{minNum=y;}System.out.println(minNum);}}   既:f:在左側的類名,點擊右鍵——〉建立——〉JUnit測試案例,出現的頁面點擊下一步:g:在選擇你自己代碼所寫的方法max();min();單擊完成。h:出現的頁面中的代碼 fail("尚未實現");,刪除掉這條代碼:寫入new printfAnnotation().max(5,6);(註:我唯寫了一個方法 testMin()方法沒寫)i:選擇方法名,點擊右鍵——〉調試方式——〉JUnit測試,出現如下結果:(注,左側出現綠條表明成功,控制台出現max(5,6)的測試結果,64總結:大家多瞭解瞭解,不止這一種測試方式,但這種方式要求每個人必會!謝謝大家指出我的錯誤,共同進步!關於Annotation(元註解),大家上網多查查!        

主流的單元測試工具之-JAVA新特性-Annotation

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.