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

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
JUNIT源碼探秘系列(下)
作者:網絡轉載 發布時間:[ 2013/4/16 14:34:04 ] 推薦標簽:

Client(客戶端)

  public static void main(String[] args)

  {

     Component leaf1 = new Leaf();

     Component leaf2 = new Leaf();   

     Composite comp1 = new Composite();

   

     comp1.add(leaf1);

     comp1.add(leaf2);   

     Component leaf3 = new Leaf();

     Component leaf4 = new Leaf();   

     Composite comp2 = new Composite(); 

     comp2.add(comp1);

     comp2.add(leaf3);

     comp2.add(leaf4);   

     comp2.doSomething();

}

這樣對組合模式基本分析完成,繼續接著看下在Junit組合模式是樣實現的呢?

在Junit中有連個重要的概念,一個是TestCase一個是TestSuite;TestSuite是一個測試集合,一個TestSuite中可以包含一個或者多個TestSuite,當然也可以一個或者多個TestCase,而這兩個對象都繼承與Test接口。這樣一分析,Test接口相當于組合模式中的抽象構件角色(Component),TestSuite相當于樹枝構件角色(Composite),TestCase相當于樹葉構件角色(Leaf)。接著我們對具體代碼分析看看這塊是否滿足組合模式。

Test接口類:

public interface Test {

 

   public abstract int countTestCases();

 

   public abstract void run(TestResult result);

}

TestSuite實現:

 

  public int countTestCases() {

     int count= 0;

     for (Enumeration e= tests(); e.hasMoreElements(); ) {

        Test test= (Test)e.nextElement();

        count= count + test.countTestCases();

     }

     return count;

  }

 

  public void run(TestResult result) {

     for (Enumeration e= tests(); e.hasMoreElements(); ) {

        if (result.shouldStop() )

            break;

        Test test= (Test)e.nextElement();

        runTest(test, result);

     }

}

TestCase實現

  public int countTestCases() {

     return 1;

  }

public void run(TestResult result) {

     result.run(this);

}

根據代碼分析,Junit使用Composite模式后簡化了JUnit的代碼,JUnit可以統一處理組合結構TestSuite和單個對象TestCase。使JUnit開發變得簡單容易,因為不需要區分部分和整體的區別,不需要寫一些充斥著if else的選擇語句。

另外,通過對TestCase對象和TestSuite的類層次結構基本對象的定義,TestCase可以被組合成更復雜的組合對象TestSuite,而這些組合對象又可以被組合,這樣不斷地遞歸下去。在程序的代碼中,任何使用基本對象的地方都可方便的使用組合對象,大大簡化系統維護和開發。

上一頁1234567下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 国产精品国内免费一区二区三区 | 国产成人欧美 | 日本a在线观看 | 激情欧美一区二区三区 | 性xxxxx大片免费视频 | 国产日韩精品欧美一区色 | a一级| 日韩在线视频一区二区三区 | 成人影院在线播放 | 成片免费观看视频在线网 | 黄色福利网 | 成人免费无毒在线观看网站 | 一级午夜免费视频 | 乱色欧美videos黑人 | 小h片在线观看 | 殴美一级毛片 | 九九热视频精品 | 一本一本大道香蕉久在线精品 | 欧美成人免费午夜全 | 夜夜骑狠狠干 | 好色在线 | 久久第一页 | 亚洲毛片网 | 最近最新免费中文字幕高清 | 国产专区在线视频 | 日本三级小视频 | 国产成人一级片 | 黄色一级大片儿 | 亚洲成a人片在线播放观看国产 | 国产线路一 | 久月婷婷 | 成人影视在线观看 | 综合 欧美 国产 视频二区 | 亚洲国产精品久久久久久网站 | 玖玖视频精品 | 日本黄色片在线 | 综合九九| 香蕉久久av一区二区三区 | 色偷偷88欧美精品久久久 | 国产精品久久久久9999 | 78m成年视频免费观看 |