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

不倦的候鳥成長日記

——候鳥,候補(bǔ)的菜鳥也
隨筆 - 6, 文章 - 0, 評論 - 5, 引用 - 0
數(shù)據(jù)加載中……

C++測試框架的選擇[轉(zhuǎn)]

http://www.gamesfromwithin.com/articles/0412/000061.html在這篇文章中,Noel Llopis提出了一個(gè)對C++ test framework評判的一些依據(jù),按照Noel Llopis給出的重要性,我節(jié)略在這里。

1.加入新測試最小化工作量

2.便于修改和移植(作者的意思是說比如RTTI,STL,Exception這些高級特性可能妨礙在不同的平臺(tái),不同版本編譯器下面的可移植性)

3.便于裝配/拆卸測試環(huán)境

4.對異常以及崩潰很好的控制

5.好的斷言功能

6.支持不同的輸出方式

7.支持測試套件(suites)

 

按照這個(gè)標(biāo)準(zhǔn),Noel Llopis對下面的test framework進(jìn)行了評價(jià)

CPPUnit

1.工作量多

2.CPPUnit能在Windows , Linux上面運(yùn)行,功能進(jìn)行了很好的模塊化,但是另一方面,CPPUnit需要RTTI,STL,或者異常(作者不是很肯定)

3.

4.CPPUnit使用protectors包裝測試,并且捕捉所有的異常(嘗試識(shí)別某些異常),Linux下面不會(huì)捕捉系統(tǒng)異常,但是要增加自定義的包裝是很容易的。

5.很好,支持一個(gè)最小集合的斷言語句,包括比較浮點(diǎn)數(shù)。

6.支持

7.支持

總體評價(jià):Overall, CppUnit is frustrating because it's almost exactly what I want, except for my most wanted feature. (CPPUnit夠悶的,不過我覺得改進(jìn)易用性應(yīng)該可以期待)

 

Boost.Test(我嘗試使用,在VC.Net 2003下面遇到鏈接問題,還沒有解決)

1.基本滿足

2.和CPPUnit類似,但強(qiáng)調(diào)的是改代碼的難度以及依賴Boost本身

3.避開了常規(guī)的setup/teardown結(jié)構(gòu),可以不需要?jiǎng)討B(tài)生成fixture 對象,可以將fixture對象放到stack里面。

4.Boost.Test在這方面超過了所有的其他競爭對手

5.Yes

6.大概能支持,但改變輸出這件事情并不是很容易

7.支持,...(這句如何理解?Yes, but with a big catch)

Overall,Boost.Test is a library with a huge amount of potential. It has great support for exception handling and advanced assert statements. It also has other fairly unique functionality such as support for checking for infinite loops, and different levels of logging. On the other hand, it's very verbose to add new tests that are part of a suite, and it might be a bit heavy weight for game console environments.

 

CppUnitLite(由于作者比較了一個(gè)被他改動(dòng)的版本,我不再關(guān)注)

 

NanoCppUnit(這個(gè)庫甚至需要你去從web pages上面copy代碼,然后自己搞一個(gè)工程,我覺得我不太喜歡這種方式的package發(fā)布,畢竟,我希望少操心,所以我也不關(guān)注)

 

Unit++

首先指出一個(gè)獨(dú)特的特性:More C++ Like,作者的意思是它沒有使用宏,的確,前面幾種framework開始一個(gè)測試的時(shí)候都使用了宏,這在許多C++ Library中是慣例,用來簡化一些代碼。我們通過從基類繼承從而創(chuàng)建測試包,當(dāng)然在其他framework里面本質(zhì)也是這樣,但是都放在幕后進(jìn)行,宏掩蓋了具體情況。

1.不好

2.一般般

3.不支持

4.表現(xiàn)平均

5.文檔沒說如何支持不同的輸出

6.不支持浮點(diǎn)數(shù)

7.支持

 

CxxTest

首先作者認(rèn)為文檔最好(很重要?)另外作者指出,CxxTest的作者Erez Volk意識(shí)到我們是在寫工具幫助測試C++程序,所以不必受限于C++的特征。

1.非常好

2.很好

3.支持

4.很好

5.yes

6.yes

7.yes

 

 

文章最后給出一個(gè)綜述:是個(gè)表現(xiàn)好的,CPPUnit, CppUnitLite, Boost.Test, CxxTest,作者本人喜歡CxxTest.

(完)

 

轉(zhuǎn)自:http://hi.baidu.com/fangfang%5Fi/blog/item/32876bfb5d140a64024f56e6.html

posted on 2007-08-26 14:34 不倦 閱讀(2865) 評論(2)  編輯 收藏 引用 所屬分類: C++單元測試框架

評論

# re: C++測試框架的選擇[轉(zhuǎn)]  回復(fù)  更多評論   

CxxTest需要預(yù)處理, windows上還得安裝Python, 作者要是直接提供一個(gè)可執(zhí)行文件就好了
2007-08-26 21:12 | eXile

# re: C++測試框架的選擇[轉(zhuǎn)]  回復(fù)  更多評論   

@eXile
Python我倒是沒有用過,現(xiàn)在用的是Perl。
我也是剛剛開始學(xué)習(xí)單元測試,估計(jì)還沒有這個(gè)水平可以提供一個(gè)可執(zhí)行文件。
CxxTest雖然需要預(yù)處理,但這之后的工作就簡單了。
尤其它的編譯即執(zhí)行測試的方式很誘人,并且可以雙擊結(jié)果行立即定位到相應(yīng)的源代碼。好像其它的C++單元測試框架都沒有這個(gè)功能……
2007-08-27 09:04 | 吳晶晶
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧美日韩一区二区| 欧美国产成人在线| 国产日产欧美精品| 国产精品区一区二区三| 国产欧美日韩精品一区| 国产亚洲激情视频在线| 国产一区二区0| 国色天香一区二区| 影音先锋久久久| 日韩一级免费观看| 午夜在线视频一区二区区别 | 日韩网站免费观看| 午夜视频一区| 久久久福利视频| 美女久久一区| 日韩亚洲欧美高清| 欧美一级黄色网| 欧美刺激午夜性久久久久久久| 欧美日韩国产美女| 国内精品久久久久久影视8| 亚洲黄色成人久久久| 一区二区免费在线播放| 欧美综合第一页| 欧美激情视频一区二区三区免费| 欧美精品成人一区二区在线观看| 亚洲精选在线观看| 午夜在线播放视频欧美| 久久久久久网| 国产精品大片wwwwww| 激情文学一区| 亚洲一区二区精品在线观看| 免费看亚洲片| 亚洲一区二区动漫| 暖暖成人免费视频| 国产亚洲欧美激情| 中文av一区特黄| 亚洲色图自拍| 久久国产精品久久久久久久久久| 久久视频在线视频| 欧美日韩视频不卡| 国外视频精品毛片| 亚洲专区国产精品| 亚洲福利视频专区| 亚洲免费影院| 欧美久久久久久久久久| 激情六月婷婷久久| 欧美一级专区免费大片| 亚洲精品久久在线| 裸体女人亚洲精品一区| 国产欧美日韩三区| 午夜精品999| 亚洲少妇最新在线视频| 欧美激情一区| 亚洲精品日韩在线观看| 男人的天堂成人在线| 亚洲欧美日产图| 国产精品久久久久婷婷| 亚洲天堂成人在线观看| 亚洲欧洲日产国产综合网| 噜噜噜噜噜久久久久久91| 激情婷婷亚洲| 欧美a一区二区| 久久天堂精品| 亚洲高清一区二| 欧美r片在线| 麻豆成人综合网| 亚洲国产网站| 亚洲国产精品ⅴa在线观看| 欧美a级大片| 亚洲精品美女免费| 亚洲美女黄网| 国产精品免费一区二区三区观看| 亚洲女性裸体视频| 午夜精品久久久| 狠狠操狠狠色综合网| 免费永久网站黄欧美| 欧美一区二区三区视频免费| 夜夜嗨av一区二区三区四季av| 欧美日韩一二三区| 亚洲欧美日韩国产| 欧美一级午夜免费电影| 欧美日韩www| 一本色道久久综合| 日韩视频在线观看国产| 国产精品成人播放| 久久久av网站| 鲁大师影院一区二区三区| 亚洲精品综合| 91久久在线| 欧美性猛交xxxx乱大交退制版 | 久久网站免费| 欧美激情精品久久久久久蜜臀| 久久riav二区三区| 亚洲国产一成人久久精品| 在线亚洲欧美| 国产综合色产| 亚洲精品视频啊美女在线直播| 国产性猛交xxxx免费看久久| 亚洲国产成人久久综合| 国产欧美日韩不卡| 91久久精品国产91性色| 国产精品一区二区在线观看| 久久久久久久成人| 欧美日本韩国一区二区三区| 久久久噜噜噜久久| 欧美午夜精品久久久| 国语自产精品视频在线看一大j8| 亚洲激情视频| 国产日韩欧美一二三区| 亚洲国产精品成人va在线观看| 国产精品国产福利国产秒拍| 欧美韩日一区| 国产日韩欧美二区| 亚洲乱码国产乱码精品精可以看| 国产午夜精品在线| 亚洲高清视频的网址| 国产日韩av一区二区| 亚洲激情精品| 在线观看欧美日本| 亚洲女人av| 在线一区亚洲| 久久人人爽人人爽爽久久| 欧美一区二区三区啪啪| 欧美另类videos死尸| 久久精品一二三| 国产精品剧情在线亚洲| 亚洲国产精品视频一区| 好吊一区二区三区| 亚洲影视九九影院在线观看| 亚洲国内自拍| 欧美专区福利在线| 亚洲性夜色噜噜噜7777| 欧美成人自拍视频| 欧美成人自拍| 国产精品影院在线观看| 一区二区三区国产精品| 亚洲区一区二| 久久综合给合久久狠狠狠97色69| 久久精品免费| 国产模特精品视频久久久久 | 亚洲在线日韩| 久久激情五月婷婷| 欧美在线三区| 国产日韩欧美中文| 午夜国产精品影院在线观看| 亚洲欧美国产va在线影院| 欧美色精品在线视频| 99成人在线| 亚洲欧美日韩国产一区二区三区 | 欧美视频精品一区| 亚洲在线成人精品| 久久精品网址| 亚洲第一在线综合网站| 母乳一区在线观看| 亚洲欧洲精品一区二区三区波多野1战4| 久久久久欧美精品| 免费在线亚洲欧美| 亚洲国产专区校园欧美| 欧美人成免费网站| 正在播放欧美一区| 久久福利毛片| 在线国产亚洲欧美| 欧美成人xxx| 亚洲麻豆一区| 欧美亚洲免费电影| 极品裸体白嫩激情啪啪国产精品| 久久久噜噜噜久久人人看| 亚洲国产精品va在线观看黑人| 一区二区三区高清不卡| 国产精品日韩欧美| 久久综合一区| 欧美吻胸吃奶大尺度电影| 亚洲一级特黄| 女女同性精品视频| 亚洲视频你懂的| 激情成人av| 欧美日韩免费看| 欧美一区二区三区在| 欧美激情亚洲综合一区| 亚洲一区在线播放| 狠狠久久综合婷婷不卡| 欧美国产欧美亚洲国产日韩mv天天看完整| 99国产精品久久久久久久| 久久久久久久一区二区| 亚洲深夜福利视频| 亚洲国产91| 国产自产精品| 国产精品日本一区二区| 欧美成人性网| 久久久www| 亚洲欧美日韩国产综合精品二区| 欧美成在线观看| 久久亚洲风情| 久久激情五月婷婷| 午夜精品视频在线观看一区二区| 亚洲日本欧美在线| 伊人久久大香线| 国产日韩av一区二区| 国产精品欧美日韩一区| 欧美日韩色一区|