亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
Junit4測試
作者:網絡轉載 發布時間:[ 2013/3/21 15:22:14 ] 推薦標簽:

  近期寫單元測試計劃,公司把junit3.8升級到junit4以上的版本,所以研究了一下,寫下學習過程和心得體會,為了鞏固學習成果,所以把學習心得寫下來加深印象,也供需要的朋友查閱,少走彎路。
  好了,廢話不多說,直接開始:
  假設我們要寫一個整數除法和乘法的類,并且給他寫測試用例:

1) 建立Math類
工具是eclipse3.3
Java代碼
/**
 * @author bulargy.j.bai
 * @創建時間:Mar 10, 2008
 * @描述:一個整數除法和乘法的工具類
 */
public class Math { 
    public static int divide(int x,int y) { 
        return x/y; 
    } 
 
    public static int multiple(int x,int y) { 
        return x*y; 
    } 
}

/**
 * @author bulargy.j.bai
 * @創建時間:Mar 10, 2008
 * @描述:一個整數除法和乘法的工具類
 */
public class Math {
    public static int divide(int x,int y) {
        return x/y;
    }

    public static int multiple(int x,int y) {
        return x*y;
    }
}

2) 建立測試用例
  選中需要建立測試用例的包,選擇new->other->JUnit Test Case。
  有5個方法可以選擇:
  setUp()方法在測試方法前調用,一般用來做測試準備工作。
  tearDown()方法在測試方法后調用,一般作測試的清理工作。
  setUpBeforeClass()方法在整個類初始化之后調用,一般用來做測試準備工作。
  tearDownAfterClass()方法在整個類結束之前調用,一般作測試的清理工作。
  constructor()為是否包含構造方法。

  自動生成的代碼如下:
Java代碼
/**
 * @author bulargy.j.bai
 * @創建時間:Mar 11, 2008
 * @描述:
 */
public class MathTest { 
 
    @BeforeClass
    public static void setUpBeforeClass() throws Exception { 
    } 
 
    @AfterClass
    public static void tearDownAfterClass() throws Exception { 
    } 
     
    @Test
    public void testDivide() { 
        fail("Not yet implemented"); 
    } 
 
    @Test
    public void testMultiple() { 
        fail("Not yet implemented"); 
    } 
}

/**
 * @author bulargy.j.bai
 * @創建時間:Mar 11, 2008
 * @描述:
 */
public class MathTest {

    @BeforeClass
    public static void setUpBeforeClass() throws Exception {
    }

    @AfterClass
    public static void tearDownAfterClass() throws Exception {
    }
  
    @Test
    public void testDivide() {
        fail("Not yet implemented");
    }

    @Test
    public void testMultiple() {
        fail("Not yet implemented");
    }
}

說明:
  @BeforeClass標簽注釋的方法用于在整個類測試過程的初始化后調用一次,@AfterClass標簽注釋的方法則是整個測試類結束之前調用一次。這2個標簽的搭配可以避免使用@Before、@After標簽組合在每個測試方法前后都調用的弊端,減少系統開銷,提高系統測試速度。(不過對環境獨立性要求較高的測試還是應當使用@Before、@After來完成)
  @Test標簽用來標注待測試的方法,按照類中聲明的順序執行。

  我們在testDivide方法加入測試代碼,分別測試三種情況:
  a. 完全正確也沒有可能出錯的數據,如:9除3 結果必須等于3
  b. 可能有問題的邊緣數據,如:10除3 結果也必須等于3
  c. 錯誤的數據,如:10除0 必須拋出異常

忽略testMultiple方法

代碼如下:
Java代碼
@Test(expected=ArithmeticException.class) 
public void testDivide() { 
    assertEquals(3,Math.divide(9,3)); 
    assertEquals(3,Math.divide(10,3)); 
    Math.divide(10,0); //除數不能為0,會拋出異常 

 
@Ignore("忽略乘法測試") 
@Test
public void testMultiple() { 
}

    @Test(expected=ArithmeticException.class)
    public void testDivide() {
        assertEquals(3,Math.divide(9,3));
        assertEquals(3,Math.divide(10,3));
        Math.divide(10,0); //除數不能為0,會拋出異常
    }
  
    @Ignore("忽略乘法測試")
    @Test
    public void testMultiple() {
    }

說明:
  Junit4為測試方法增加了判斷異常的方式,避免了以前還要通過try/catch塊捕捉異常再拋出的復雜方式,簡單的這樣聲明“@Test(expected=ArithmeticException.class)”Junit4會檢查此方法是否拋出ArithmeticException異常,如果拋出則測試通過,沒拋出則測試不通過(@Test標簽還有一些其他參數,例如超時測試@Test(timeout=1)這樣,但是由于并不能準確反應實際時間,所以應用較少,經過我測試誤差太大不適合拿來做超時測試的)
@Ignore標簽會告訴Junit4忽略它所標注的方法,例如數據庫不可用時可以用此標注標注一些測試數據庫連接的方法來避免測試失敗。

上一頁123下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 毛片福利 | 免费人成在线蜜桃视频 | 最近中文字幕国语完整视频 | 手机在线视频成人 | 亚洲欧美一区二区三区二厂 | 亚洲毛片在线观看 | 好吊色妇女免费视频免费 | 欧美成人亚洲综合精品欧美激情 | 国产午夜毛片v一区二区三区 | 曰批全过程免费视视频观看 | 亚洲色图1| 欧美成人免费一级人片 | 人人澡人人澡人人看欧美 | 免费乱理伦片在线观看八戒 | 国产中文在线观看 | 久久成人性色生活片 | a级黄色毛片免费播放视频 a级黄色毛片 | 小明台湾成人永久免费看看 | 中文字幕亚洲综久久2021 | 国产丫丫视频私人影院 | 国产在线永久视频 | 日韩美在线 | 久久香蕉网 | 日韩高清一区 | 爱性大片在线观看 | 120秒在线观看免费 128tv在线观看 | 中文字幕第5页 | 欧美国产激情二区三区 | a级毛片免费高清视频 | 日韩激情淫片免费看 | 欧美人与动人物a级网站 | 亚洲视频在线一区二区 | 精品小视频在线观看 | 性无遮挡高清视频免费 | 欧美成人eee在线 | 嫩草影院懂你的影院 | 国产黄a三级三级三级 | 我要看黄色特级黄色录像 | 免费网站看v片在线播放器 免费无毒片在线观看 | 人人爽天天爽夜夜爽曰 | 在线毛片免费 |