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

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
用JUnit測試Java類
作者:網絡轉載 發布時間:[ 2014/2/26 11:54:58 ] 推薦標簽:Java類 JUnit測試 單元測試

FactorCalculator類提供的接口很簡單:

 factor: 分解一個數獲取素因子的方法。
 isPrime: 判斷一個數是否素數的方法。
 isDivisor: 判斷一個數是否能被另一個數整除的方法。
這些public方法可以構成一個數學庫的API。

要測試FactorCalculator,你可以創建一個有main方法可以從命令行調用的Java類。程序列表2是這樣一個測試類。

程序列表2 (CalculatorTest.java, taken from CalculatorTest.java.v1):
public class CalculatorTest {
  public static void main(String [] argv) {
    FactorCalculator calc = new FactorCalculator();
    int[] intArray;
    intArray = calc.factor(100);
    if (!((intArray.length == 4) && (intArray[0] == 2) && (intArray[1] == 2) && (intArray[2] == 5) && (intArray[3] == 5))) {
      throw new RuntimeException("bad factorization of 100");
    }
    intArray = calc.factor(4);
    if (!((intArray.length == 2) && (intArray[0] == 2) && (intArray[1] == 2))) {
      throw new RuntimeException("bad factorization of 4");
    }
    intArray = calc.factor(3);
    if (!((intArray.length == 1) && (intArray[0] == 3))) {
      throw new RuntimeException("bad factorization of 3");
    }
    intArray = calc.factor(2);
    if (!((intArray.length == 1) && (intArray[0] == 2))) {
      throw new RuntimeException("bad factorization of 2");
    }
    boolean isPrime;
    isPrime = calc.isPrime(2);
    if (!isPrime) {
      throw new RuntimeException("bad isPrime value for 2");
    }
    isPrime = calc.isPrime(3);
    if (!isPrime) {
      throw new RuntimeException("bad isPrime value for 3");
    }
    isPrime = calc.isPrime(4);
    if (isPrime) {
      throw new RuntimeException("bad isPrime value for 4");
    }
    try {
      isPrime = calc.isPrime(1);
      throw new RuntimeException("isPrime should throw exception for numbers less than 2");
    } catch (IllegalArgumentException e) {
      // do nothing because throwing IAE is the proper action
    }
    boolean isDivisor;
    isDivisor = calc.isDivisor(6, 3);
    if (!isDivisor) {
      throw new RuntimeException("bad isDivisor value for (6, 3)");
    }
    isDivisor = calc.isDivisor(5, 2);
    if (isDivisor) {
      throw new RuntimeException("bad isDivisor value for (5, 2)");
    }
    try {
      isDivisor = calc.isDivisor(6, 0);
      throw new RuntimeException("isDivisor should throw exception when potentialDivisor (the second argument) is 0");
    } catch (ArithmeticException e) {
      // do nothing because throwing AE is the proper action
    }
    System.out.println("All tests passed.");
  }
}

注意這兩個try-catch塊,一個測試isPrime,另一個測試isDivisor。有時候拋出異常才是某段代碼的正確行為,測試這樣的代碼時,你必須捕獲這個異常,看它是否你想要的。如果拋出的不是你想要的異常,你應該把它扔給(異常)處理鏈的下一級。如果這段代碼應該有異常,但測試時沒有拋出,你要拋出你自己定義的異常,來通知程序功能錯誤。你應該使用與下文中要介紹的JUnit測試代碼類似的模式,來測試那種本來應該拋出一個或多個異常的部分代碼。

上一頁1234567下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 国产一精品一av一免费爽爽 | 日本爽视频 | 亚洲专区一 | 99re热视频这里只有精品5 | 色男人的天堂久久综合 | 午夜日韩久久影院 | 天天插在线视频 | 女性成人毛片a级 | 亚洲一区免费观看 | 激情综合网婷婷 | 免费一级毛片在线视频观看 | 亚洲综合第一页 | 2022中文字幕 | 午夜刺激视频 | 免费一看一级欧美 | 午夜成私人影院在线观看 | 全免费a级毛片免费看视频免 | 久青草视频在线播放 | 黄网站在线观看永久免费 | 51免费看片| 日韩欧美一二三区 | 老司机午夜在线视频免费 | 欧美一级三级在线观看 | 天天舔天天爱 | 欧美成人亚洲综合精品欧美激情 | 一区二区三区精品国产欧美 | 韩国理论片最新第一页 | 男人女人日皮视频 | 可以免费看的黄色片 | 免费人成在线观看网站品爱网 | 天堂中文资源网 | 麒麟色欧美影院在线播放 | 波多野结衣福利视频 | 久久久久久久网 | 国产免费理论片在线观看 | 免费一级特黄欧美大片久久网 | 一 级 黄 色 片生活片 | 欧美成人 一区二区三区 | 国产性大片黄在线观看在线放 | 亚洲成a人v大片在线观看 | 一二三四社区在线视频社区 |