日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JUnit3 结合一个除法的单元测试说明Assert.fail()的用法

發布時間:2024/8/24 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JUnit3 结合一个除法的单元测试说明Assert.fail()的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JUnit3 結合一個除法的單元測試說明Assert.fail()的用法

  

  之前一篇博文(JUnit基礎及第一個單元測試實例(JUnit3.8))介紹了用JUnit做單元測試的基本方法,并寫了一個簡單的類Calculator,其中包含了整型加減乘除的簡單算法。

  本文通過完善其中的除法和除法的單元測試來繼續說明JUnit的用法。

?

  首先完善Calculator類中的除法,在除數為零的情況下拋出一個異常:

public int divide(int a, int b) throws Exception{if(0 == b){throw new Exception("除數不能為0"); }return a / b;}

?

?

設計測試用例

  測試用例中不再拋出異常,而是使用try catch塊。

  首先是測試正常情況的測試用例:

public void testDivide(){int result = 0;try{result = calculator.divide(12, 3);}catch (Exception e){e.printStackTrace();// 如果拋出異常,證明測試失敗,沒有通過,沒通過的測試計數在Failures中 Assert.fail();// 如果不加這一行,如果程序進入到catch,無法判斷其失敗 }// 判斷方法的返回結果Assert.assertEquals(4, result);// 第一個參數是期望值,第二個參數是要驗證的值 }

?

  測試異常情況的測試用例:

public void testDivideByZero(){Throwable tx = null;int result = 0;try{result = calculator.divide(12, 2);Assert.fail("沒有拋出異常,測試失敗");// 如果執行到這行代碼,則證明沒有拋出異常,說明我們的驗證失敗 }catch (Exception e){e.printStackTrace();tx = e;}Assert.assertEquals(Exception.class, tx.getClass());// 拋出的異常類型是否和期望一致Assert.assertEquals("除數不能為0", tx.getMessage());// 拋出的異常信息是否和期望一致//如果上面兩個都通過,則測試通過 }

  

  此代碼中故意將除數改為2,測試失敗。

  除數為2時的執行情況:

  

  總結:Assert.fail()加在期望中不可能到達的地方,一旦到達,表明測試失敗,結果與預期不同。

轉載于:https://www.cnblogs.com/aimengying/p/3591319.html

總結

以上是生活随笔為你收集整理的JUnit3 结合一个除法的单元测试说明Assert.fail()的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。