yxhxj2006

          常用鏈接

          統計

          最新評論

          junit淺學筆記二

            上一節初步介紹了什么是單元測試,為什么要做單元測試,以及junit4的初步使用,這里我們接著說一下junit4中的注解。

            =============本節知識點============================

          *     Error和Failures

          *    Junit4 Annotation

          ==================================================================

           

          1.   在講注解之前,先來認識 Error和Failures這兩種錯誤有什么不同。

           

          Errors:表示程序本身錯誤

           

           

          @Test
          publicvoid testAdd() {
          int z=new T().add(5,3);
          assertEquals(
          8,z);
          int a=8/0; //這一句是有錯誤的
          }

           

          運行方法,會有一下錯誤提示:

          Failures: 是指測試失敗。

          @Test
          publicvoid testAdd() {
          int z=new T().add(5,4); //這里修改了數值,把4該為3就正確了
          assertEquals(
          8,z);
          }

          在來運行這個方法,看一下錯誤提示:

          所以,我們在寫測試程序的時候,要先保證Errors是沒有錯誤的,再來看Failures有沒有錯誤。

           

          2.  下面介紹junit4 的常用注解

          -----------------------------------------------------------------------------------------------

          *             @ Test:測試方法

                            A)  (expected=XXEception.class)

                          B)  (timeout=xxx)

          *.           @ Ignore: 被忽略的測試方法

          *.           @Before: 每一個測試方法之前云行。

          *.           @After : 每一個測試方法之后運行。

          *.           @BefreClass 所有測試開始之前運行。

          *.           @AfterClass 所有測試結果之后運行。

          ------------------------------------------------------------------------------------------------

          下面通過一個測試程序來解釋這些注解含義

          復制代碼
          package com.junit4.cc.test;

          importstatic org.junit.Assert.*;
          importstatic org.hamcrest.Matcher.*;

          import org.junit.Test;
          import com.junit4.cc.*;

          import org.junit.Before;
          import org.junit.BeforeClass;
          import org.junit.AfterClass;
          import org.junit.After;
          import org.junit.Ignore;


          publicclass TTest {

          @BeforeClass
          //的所有方法運行之前運行。
          publicstaticvoid beforeClass(){
          System.out.println(
          "------------beforeClass");
          }

          @AfterClass
          //在所有方法運行之后運行
          publicstaticvoid afterClass(){
          System.out.println(
          "-------------afterClass");
          }

          @Before
          //每個測試方法運行之前運行
          publicvoid before(){
          System.out.println(
          "=======before");
          }

          @After
          //每個測試方法運行之后運行
          publicvoid after(){
          System.out.println(
          "=======after");
          }

          @Test
          publicvoid testAdd() {
          int z=new T().add(5,3);
          assertEquals(
          8,z);
          System.out.println(
          "test Run through");
          }

          @Test ()
          publicvoid testdivision(){
          System.out.println(
          "in Test Division");

          }

          @Ignore
          //表示這個方法是不被運行的
          @Test
          (expected
          =java.lang.ArithmeticException.class,timeout=100) //timeout表示要求方法在100毫秒內運行完成,否則報錯
          publicvoid testDivide(){
          int z =new T().divide(8,2);
          }



          }
          復制代碼

          運行結果如下:

          標記紅星(*)方法在每個方法開始和結尾都運行一次。

          標記綠星(*)的方法只在所有方法的開始和結尾運行一次。

          junit有多種注解,我們常用的也就上面幾種。

          posted on 2012-08-09 14:23 奮斗成就男人 閱讀(124) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 海阳市| 泊头市| 莒南县| 扎赉特旗| 葫芦岛市| 临沂市| 江达县| 高密市| 资中县| 格尔木市| 宁武县| 璧山县| 正安县| 湟中县| 乐东| 繁峙县| 赤峰市| 无极县| 延庆县| 沧州市| 石泉县| 万盛区| 东阳市| 探索| 江达县| 文山县| 安丘市| 区。| 东阳市| 新丰县| 固安县| 宁德市| 宁陕县| 正定县| 辽阳县| 仁布县| 祁连县| 镇宁| 黑山县| 靖宇县| 松阳县|