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:25 奮斗成就男人 閱讀(149) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 海伦市| 塔城市| 丹巴县| 广平县| 莱州市| 全椒县| 汶川县| 丹东市| 武冈市| 崇信县| 庆城县| 中方县| 汕头市| 华容县| 从化市| 清丰县| 中宁县| 洛扎县| 贡觉县| 大理市| 苍梧县| 鄂州市| 临沭县| 阜宁县| 满洲里市| 军事| 新兴县| 沈阳市| 松潘县| 海宁市| 合川市| 读书| 孟州市| 云安县| 扎囊县| 山西省| 凌海市| 凤城市| 丹东市| 体育| 石嘴山市|