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

為生存而奔跑

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

留言簿(5)

我參與的團隊

搜索

  •  

積分與排名

  • 積分 - 331733
  • 排名 - 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>
            亚洲韩国精品一区| 亚洲欧洲综合另类在线| 亚洲专区在线视频| 国产精品99久久久久久人| 亚洲精品乱码视频| 91久久久亚洲精品| 这里是久久伊人| 欧美一级电影久久| 久久亚洲欧洲| 欧美日韩亚洲国产一区| 国产精品尤物| 亚洲欧洲日产国产网站| 亚洲一区图片| 美女在线一区二区| 亚洲精品乱码久久久久久| 亚洲一区二区三区在线观看视频 | 一区二区三区精品久久久| 99精品久久久| 久久久av网站| 亚洲国产日韩欧美在线图片| 99视频有精品| 久久午夜激情| 国产精品美女xx| 最新成人在线| 久久成人av少妇免费| 欧美高清视频在线| 亚洲欧美视频| 欧美激情视频在线免费观看 欧美视频免费一| 欧美精品性视频| 韩国视频理论视频久久| 一本综合精品| 欧美18av| 性视频1819p久久| 欧美日韩福利在线观看| 狠狠88综合久久久久综合网| 一区二区三区国产精品| 午夜日韩福利| 欧美一区二区在线免费观看| 久久综合九色| 亚洲一区二区免费在线| 欧美岛国在线观看| 一区二区三区在线高清| 亚洲欧美日韩国产中文| 亚洲精品社区| 欧美黑人在线观看| 亚洲国产精品高清久久久| 久久本道综合色狠狠五月| 9久草视频在线视频精品| 蜜乳av另类精品一区二区| 国产精品一区二区久久国产| 亚洲视频综合| 亚洲久久成人| 欧美日韩精品免费观看视频| 亚洲精品自在在线观看| 欧美激情亚洲综合一区| 久久久不卡网国产精品一区| 国产午夜久久久久| 久久国内精品自在自线400部| 亚洲新中文字幕| 国产精品视频yy9099| 午夜精品一区二区三区电影天堂 | 国产精品久久久久久久7电影 | 一本久久青青| 欧美少妇一区| 午夜视频一区在线观看| 国产精品99久久久久久久久| 国产精品va在线| 亚洲欧美日产图| 亚洲免费在线视频| 国产情人综合久久777777| 欧美一区二区三区免费在线看| 亚洲深夜激情| 国产精品一区免费在线观看| 久久精品成人一区二区三区| 欧美淫片网站| 亚洲激情另类| aa级大片欧美| 国产视频自拍一区| 欧美成年人视频| 免费中文日韩| 亚洲一区二区av电影| 午夜精品久久久久久久99樱桃| 国产一区二区三区高清播放| 免费久久99精品国产自| 欧美第一黄色网| 性色av一区二区三区| 香蕉成人久久| 日韩视频一区二区三区在线播放免费观看 | 一区二区三欧美| 在线综合亚洲| 亚洲黄页视频免费观看| 免费的成人av| 亚洲视频精选| 久久久久久久精| 一区二区日韩免费看| 欧美一级黄色录像| 亚洲精品自在久久| 欧美亚洲一区| 一区二区免费在线视频| 欧美一级大片在线免费观看| 亚洲免费av片| 欧美在线一区二区三区| 亚洲午夜精品久久| 久久精品一级爱片| 亚洲一区欧美| 欧美顶级少妇做爰| 久久久久久高潮国产精品视| 欧美精品乱码久久久久久按摩| 性欧美超级视频| 欧美喷潮久久久xxxxx| 久久综合网色—综合色88| 欧美视频在线看| 欧美激情视频给我| 韩国精品在线观看| 亚洲一区二区免费视频| 99国内精品久久| 久久久久久午夜| 久久国产综合精品| 国产精品视频精品| 一本色道88久久加勒比精品 | 欧美电影美腿模特1979在线看| 久久福利毛片| 国产精品免费一区二区三区观看| 亚洲国产一区二区三区青草影视 | 麻豆精品在线播放| 国产乱肥老妇国产一区二| 亚洲精品免费一二三区| 亚洲国产午夜| 嫩草国产精品入口| 欧美成人自拍| 亚洲国产你懂的| 久久久久国色av免费观看性色| 久久精品毛片| 国内一区二区三区| 久久精品一区二区| 免播放器亚洲一区| 亚洲国产网站| 欧美激情国产日韩| 亚洲乱码视频| 亚洲在线一区二区| 国产欧美一区二区精品仙草咪| 亚洲欧美久久久| 欧美一区二区在线| 一区二区欧美日韩视频| 亚洲欧美不卡| 久久精品成人一区二区三区| 国产一区二区福利| 久久久噜噜噜久久久| 亚洲第一搞黄网站| 在线中文字幕日韩| 国产乱码精品| 久久在线免费观看视频| 亚洲国产精品尤物yw在线观看| 一区二区三区免费观看| 国产精品一区二区在线观看不卡| 久久精品欧洲| 亚洲人成啪啪网站| 欧美一区二区免费观在线| 激情综合在线| 欧美精品一区在线| 亚洲一区二区三区高清| 久久伊人免费视频| aa级大片欧美三级| 国产三级精品三级| 欧美国产日韩a欧美在线观看| 正在播放亚洲一区| 女生裸体视频一区二区三区| 一区二区三区|亚洲午夜| 国产精品五月天| 男女精品网站| 欧美一级淫片播放口| 亚洲激情在线观看| 久久久高清一区二区三区| 亚洲激情中文1区| 国产精品一区二区三区久久 | 国产精品欧美日韩| 牛人盗摄一区二区三区视频| 亚洲网站在线观看| 欧美顶级艳妇交换群宴| 午夜精品视频在线| 亚洲人成网站在线播| 国产欧美亚洲一区| 欧美日韩一区二区在线观看 | 国产日韩av高清| 欧美日韩精品三区| 麻豆精品视频| 久久国产乱子精品免费女| 亚洲欧洲精品成人久久奇米网 | 欧美激情一区二区三区在线视频| 亚洲字幕一区二区| 亚洲精品视频在线播放| 男女激情久久| 欧美在线视频免费播放| 中文一区在线| 亚洲精品久久久久久下一站| 激情欧美国产欧美| 国产亚洲精品一区二555| 国产精品久久久久婷婷| 欧美日韩在线观看一区二区三区| 老牛国产精品一区的观看方式|