• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 全面認識JUnit 4的新特征

    發表于:2009-04-08來源:作者:點擊數: 標簽:junitJunitJUnitJUNIT特征
    提要本文將向你介紹如何實現從 JUnit 3.8向JUnit 4的遷移。同時,還討論JUnit 4中的一些新特征,特別包括對注解的使用;最后,簡要介紹這個新版本的IDE集成現狀。 一、 引言 在本文開始,我將假定,你已經了解由Kent Beck和Erich Gamma發明的這個 Java 單元測
     提要本文將向你介紹如何實現從JUnit 3.8向JUnit 4的遷移。同時,還討論JUnit 4中的一些新特征,特別包括對注解的使用;最后,簡要介紹這個新版本的IDE集成現狀。

      一、 引言

           在本文開始,我將假定,你已經了解由Kent Beck和Erich Gamma發明的這個Java單元測試框架并因此而略過必要的簡介。所以,我將集中分析從JUnit 3.8到最新版本-JUnit 4的遷移過程以及其在IDE和Ant中的集成。

           JUnit 4是一種與其之前的版本完全不同的API,它根據Java 5.0中的新特征(注解,靜態導入等)構建而成。如你所見,JUnit 4更簡單、更豐富和更易于使用,而且它引入了更為靈活的初始化和清理工作,還有限時的和參數化測試用例。 

           代碼實例最能說明問題。因此,在本文中,我將使用一個例子來展示不同的測試用例:一個計算器。該示例計算器很簡單,效率并不高,甚至還有一些錯誤;它僅 僅操作整數,并且把結果存儲在一個靜態變量中。Substract方法并不返回一個有效的結果,而且也沒有實現乘法運算,而且看上去在 squareRoot方法中還存在一個錯誤:無限循環。這些錯誤將幫助說明使用JUnit 4進行測試的有效性。你可以打開和關閉這個計算器,而且你可以清除這些結果。下面是其實現代碼:

    package calc;
    public class Calculator {
      private static int result; //存儲結果的靜態變量
      public void add(int n) {
       result = result + n;
      }
      public void substract(int n) {
       result = result - 1; //錯誤:應該是 "result = result - n"
      }
      public void multiply(int n) {} //還沒實現
      public void divide(int n) {
       result = result / n;
      }
      public void square(int n) {
       result = n * n;
      }
      public void squareRoot(int n) {
       for (; ;) ; //錯誤:無限循環
      }
      public void clear() { //清除結果
       result = 0;
      }
      public void switchOn() { //打開屏幕,顯示 "hello",并報警
       result = 0; //實現其它的計算器功能
      }
      public void switchOff() { } //顯示 "bye bye",報警,并關閉屏幕
      public int getResult() {
       return result;
      }
    }
      

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>