Java:JUnit4使用詳解

來源:互聯網
上載者:User

標籤:timeout   cep   for   stat   執行   異常   不能   on()   運行時   

對於Junit的解釋不太懂,現在我們看一下;   

我們此次針對的是Junit4版本,註解也是在Junit4版本才有的,之前的版本並無註解功能。而註解開發基本上被認為是一種優秀的設計,所以我們寫單元測試用例時,儘可能地去瞭解並使用註解。

     @Test:使用該註解的方法為測試方法,自動運行時能夠識別並被執行

      包含兩個參數:expected=XXXException.class 期望出現的異常

                               timeout=xxx 設定程式啟動並執行逾時時間

     @Ignore:被忽略的測試方法

     @Before:在每個測試方法之前運行

     @After: 在每個測試方法之後運行

     @BeforeClass:在所有測試開始之前運行

     @AfterClass:在所有測試開始之後運行 

     注意:

     (1) @Before與@BeforeClass的區別

     @Before會加在每個方法前執行,即有幾個@Test就會執行幾遍。

     @BeforeClass 只在所有測試之前執行,只會執行一次。並且@BeforeClass修飾的方法必須是公有的靜態方法(public static )。

     @After和@AfterClass也類似

     (2)每個測試類別中這四個註解不能重複使用,一個方法只能從這四個註解中挑選其中一個。

 

  重點:

   (3)如果不希望某個方法執行: @Ignore() 可以標註不參與測試的測試方法。當然也可以通過去除註解 @Test 來達到這個目的,但去除註解 @Test 會令到eclipse的JUnit View中無法顯示該測試方法。

 

比如:

package gc;import static org.junit.Assert.*;import org.junit.After;import org.junit.AfterClass;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Ignore;import org.junit.Test;public class JUnit4Test {@Beforepublic void before() {  System.out.println("@Before");}@Testpublic void test() {  System.out.println("@Test");  assertEquals(5 + 5, 10);} @Ignore@Testpublic void testIgnore() {  System.out.println("@Ignore");} @Test(timeout = 50)public void testTimeout() {  System.out.println("@Test(timeout = 50)");  assertEquals(5 + 5, 10);} @Test(expected = ArithmeticException.class)public void testExpected() {  System.out.println("@Test(expected = Exception.class)");  throw new ArithmeticException();} @Afterpublic void after() {   System.out.println("@After");  }    @BeforeClass  public static void beforeClass() {   System.out.println("@BeforeClass");  };    @AfterClass  public static void afterClass() {   System.out.println("@AfterClass");  };};

  結果為:

@BeforeClass@Before@Test(timeout = 50)@After@Before@Test(expected = Exception.class)@After@Before@Test@After@AfterClass

  

Java:JUnit4使用詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.