青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

為生存而奔跑

   :: 首頁 :: 聯系 :: 聚合  :: 管理
  271 Posts :: 0 Stories :: 58 Comments :: 0 Trackbacks

留言簿(5)

我參與的團隊

搜索

  •  

積分與排名

  • 積分 - 331738
  • 排名 - 74

最新評論

閱讀排行榜

評論排行榜

   當 JUnit 不必區分其運行的是一個或多個測試用例時,能夠輕松地解決這個問題的模式就
是 Composite(組合)模式。摘引其意圖,"將對象組合成樹形結構以表示'部分-整體'的層次
結構。Composite 使得用戶對單個對象和組合對象的使用具有一致性。"在這里'部分-整體'
的層次結構是解決問題的關鍵,可以把單個的 TestCase 看作部分,而把復合的 TestCase 看
作整體(稱為 TestSuit) 。這樣使用該模式便可以恰到好處得解決了這個難題。
 Composite 模式引入以下的參與者:
?  Component:這是一個抽象角色,它給參加組合的對象規定一個接口。這個角色,
給出共有的接口和默認行為。其實就我們的 Test 接口,它定義出 run 方法。
?  Composite:實現共有接口并維護一個測試用例的集合。就是復合測試用例 TestSuit
?  Leaf:代表參加組合的對象,它沒有下級子對象,僅定義出參加組合的原始對象的
行為,其實就是單一的測試用例 TestCase,它僅實現 Test 接口的方法。
其實 componsite 模式根據所實現的接口類型區分為兩種形式,分別稱為安全式和透明式。
JUnit 中使用了安全式的結構,這樣在 TestCase 中沒有管理子對象的方法。

composite 模式告訴我們要引入一個 Component 抽象類,為 Leaf 對象和 composite 對象
定義公共的接口。這個類的基本意圖就是定義一個接口。在 Java 中使用 Composite模式時,
優先考慮使用接口,而非抽象類,因此引入一個 Test 接口。當然我們的 leaf 就是 TestCase
了。其源代碼如下:
//composite模式中的Component角色 
public interface Test {   
public abstract void run(TestResult result); 

//composite模式中的Leaf角色 
public abstract class TestCase extends Assert implements Test { 
public void run(TestResult result) { 
       result.run(
this); 
      } 
}


下面,列出 Composite 源碼。將其取名為 TestSuit 類。TestSuit 有一個屬性 fTests (Vector
類型)中保存了其子測試用例,提供 addTest 方法來實現增加子對象 TestCase ,并且還提供
estCount  和 tests  等方法來操作子對象。最后通過 run()方法實現對其子對象進行委托
(delegate) ,最后還提供 addTestSuite 方法實現遞歸,構造成樹形。 
public class TestSuite implements Test { 
  
private Vector fTests= new Vector(10); 
      
public void addTest(Test test) { 
   fTests.addElement(test); 
 } 
public Enumeration tests() { 
   
return fTests.elements(); 

public void run(TestResult result) { 
    
for (Enumeration e= tests(); e.hasMoreElements(); ) { 
        Test test
= (Test)e.nextElement(); 
    runTest(test, result); 
   } 
 } 
public void addTestSuite(Class testClass) { 
   addTest(
new TestSuite(testClass)); 

}   

注意所有上面的代碼是對 Test 接口進行實現的。 由于 TestCase 和 TestSuit兩者都符合 Test
接口,我們可以通過 addTestSuite 遞歸地將 TestSuite 再組合成 TestSuite,這樣將構成樹形結
構。所有開發者都能夠創建他們自己的 TestSuit。測試人員可創建一個組合了這些測試用例

的 TestSuit 來運行它們所有的 TestCase。
    public static Test suite() {
        TestSuite suite1 = new TestSuite("我的測試TestSuit1");
        TestSuite suite2 = new TestSuite("我的測試TestSuit2");
        suite1.addTestSuite(untitled6.Testmath.class);
        suite2.addTestSuite(untitled6.Testmulti.class);
        suite1.addTest(suite2);
        return suite1;
    }

posted on 2011-03-01 20:31 baby-fly 閱讀(396) 評論(0)  編輯 收藏 引用 所屬分類: Design Pattern
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜免费久久久久| 久久视频国产精品免费视频在线| 欧美金8天国| 午夜欧美精品| 亚洲精品麻豆| 麻豆国产精品777777在线| 香蕉久久夜色精品国产| 亚洲视频在线二区| 中文一区二区| 国产一区二区精品久久99| 欧美日韩专区| 久久成人精品| 久久精品人人做人人爽电影蜜月| 性色av一区二区三区红粉影视| 亚洲综合精品一区二区| 亚洲一区美女视频在线观看免费| 日韩天天综合| 亚洲视频一区| 亚洲欧美日韩综合aⅴ视频| 亚洲午夜精品网| 亚洲网站啪啪| 午夜精品国产精品大乳美女| 欧美一区二区啪啪| 久久精品首页| 久久精品亚洲一区| 亚洲一区二区三区精品动漫| 亚洲视频二区| 欧美伊人久久久久久午夜久久久久 | 国产精品私房写真福利视频| 亚洲人成小说网站色在线| 欧美成人首页| 亚洲承认在线| 一本大道久久精品懂色aⅴ| 亚洲午夜小视频| 久久精品观看| 欧美裸体一区二区三区| 国产精品一区在线播放| 国产精品电影网站| 久久综合久久综合久久| 欧美日本精品| 国产一区二区在线免费观看| 在线播放不卡| 国产精品99久久久久久久久| 亚洲欧美综合网| 久久嫩草精品久久久精品| 亚洲福利视频网| 亚洲免费视频网站| 欧美成人综合在线| 欧美顶级大胆免费视频| 国产精品乱码久久久久久| 国产自产v一区二区三区c| 国产精品一区二区三区久久| 亚洲国产视频直播| 午夜精品一区二区三区四区| 欧美成人激情在线| 亚洲一区亚洲二区| 欧美成人精品在线| 国产一区二区三区四区五区美女| 亚洲乱码视频| 欧美成人一区二区三区片免费| 99视频在线观看一区三区| 欧美一区二区三区免费观看| 久久久国产精品一区二区中文| 欧美伦理91i| 亚洲国产精品悠悠久久琪琪| 欧美在线欧美在线| 亚洲一区国产精品| 午夜精品久久久久久| 久久夜色精品国产噜噜av| 久久夜色精品国产| 国产精品揄拍500视频| 亚洲美女在线看| 久久天堂成人| 欧美影院在线播放| 国产女人精品视频| 国产精品国产三级国产aⅴ9色| 国产精品美女久久久久久久 | 亚洲全黄一级网站| 久久免费视频在线观看| 亚洲一区久久久| 欧美婷婷六月丁香综合色| 日韩视频二区| 久久综合伊人77777麻豆| 亚洲免费在线观看| 嫩草成人www欧美| 欧美视频一区在线| 一本久久a久久精品亚洲| 欧美激情精品久久久久久大尺度| 亚洲视频一区在线| 国产亚洲综合性久久久影院| 亚洲九九精品| 久久漫画官网| 欧美影院在线播放| 一区二区三区我不卡| 久久精品日产第一区二区三区| 亚洲影视在线| 久久精品30| 伊人久久婷婷色综合98网| 久久综合亚州| 美日韩精品免费观看视频| 亚洲黄色av| 亚洲精品国产精品国自产在线 | 亚洲一区二区三区中文字幕| 国产精品jizz在线观看美国 | 一区二区三区www| 99re热这里只有精品免费视频| 欧美精品一区三区在线观看| 一本到高清视频免费精品| 一本色道88久久加勒比精品| 国产精品视频网站| 国产日韩欧美综合一区| 裸体一区二区三区| 欧美不卡福利| 亚洲一区二区在线免费观看| 午夜亚洲福利| 亚洲国产一区二区三区在线播| 亚洲精品久久久一区二区三区| 欧美va天堂| 亚洲欧美成人一区二区三区| 性视频1819p久久| 亚洲精品在线三区| 午夜精品理论片| 亚洲六月丁香色婷婷综合久久| 免费成人av| 国产精品婷婷| 中文日韩在线视频| 亚洲精品美女久久久久| 久久综合色婷婷| 久久婷婷综合激情| 国产日韩欧美在线| 亚洲在线一区| 亚洲欧美日韩在线综合| 欧美午夜一区二区福利视频| 亚洲精品视频一区| 欧美成人一区二区三区| 久久久噜噜噜久久| 国产在线一区二区三区四区| 欧美一区二区| 久久国产精品99国产| 国产欧美精品一区二区三区介绍| 亚洲视频1区| 欧美在线视屏| 国产欧美日韩一区二区三区| 午夜欧美不卡精品aaaaa| 性刺激综合网| 国产在线高清精品| 久久资源av| 亚洲国产第一| 最新高清无码专区| 欧美精品亚洲精品| 亚洲精品中文字幕在线| 亚洲一区精品电影| 国产婷婷色一区二区三区| 久久九九国产精品| 亚洲大片在线观看| 一区二区三区视频在线| 欧美午夜不卡影院在线观看完整版免费| 亚洲精品在线视频| 欧美一级黄色网| 精品盗摄一区二区三区| 美日韩丰满少妇在线观看| 99精品视频免费观看视频| 亚洲综合精品自拍| 激情综合电影网| 欧美激情精品久久久久久大尺度| 日韩视频一区二区三区在线播放免费观看| 亚洲一二三区精品| 国内久久精品| 欧美日韩激情小视频| 午夜精品久久久久久久男人的天堂 | 久久精品亚洲一区| 91久久精品国产91性色tv| 亚洲欧美日韩在线一区| 一区二区视频免费在线观看| 欧美日韩国产在线观看| 欧美一级免费视频| 亚洲另类在线视频| 久久久亚洲国产美女国产盗摄| 99re热精品| 国产亚洲成av人在线观看导航 | 国产一区二区在线观看免费播放 | 欧美一区二区视频网站| 亚洲国产精品va在看黑人| 欧美婷婷久久| 欧美刺激性大交免费视频| 欧美一级在线亚洲天堂| 9久草视频在线视频精品| 久久综合影视| 国产日韩一区二区三区在线播放 | 麻豆av一区二区三区| 亚洲一区二区三区乱码aⅴ| 狠狠久久亚洲欧美| 国产精品久久久久久久久免费桃花 | 国产一区美女| 国产精品久久久免费| 欧美精品亚洲精品| 美女久久一区| 久久亚洲春色中文字幕| 午夜欧美精品| 亚洲免费综合|