• <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>

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運(yùn)轉(zhuǎn),開(kāi)心的工作
            簡(jiǎn)單、開(kāi)放、平等的公司文化;尊重個(gè)性、自由與個(gè)人價(jià)值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            Google新的C++測(cè)試框架

            Posted on 2009-01-08 00:08 S.l.e!ep.¢% 閱讀(684) 評(píng)論(2)  編輯 收藏 引用 所屬分類: test

            Google新的C++測(cè)試框架發(fā)布啦

            作者 Mike Bria譯者 張龍 發(fā)布于 2008年7月17日 上午1時(shí)39分

            社區(qū)
            .NET,
            Agile,
            Java
            主題
            工件和工具,
            單元測(cè)試
            標(biāo)簽
            C++

            Google最近開(kāi)源了其基于xUnit的C++單元測(cè)試框架。項(xiàng)目開(kāi)發(fā)者Zhanyong Wan說(shuō)在Google內(nèi)部已經(jīng)有數(shù)以千計(jì)的C++開(kāi)發(fā)者在使用該框架,并且已經(jīng)持續(xù)好幾年了。?

            根據(jù)Google所述,此次發(fā)布的主要亮點(diǎn)體現(xiàn)在:

            • Google Test是便攜式的:它可以通過(guò)不同版本的GCC和MSVC編譯器應(yīng)用在多種平臺(tái)上(Linux、Windows、Mac OS X等等)。你甚至可以將它用于Windows CE和Symbian這樣的嵌入式系統(tǒng)中。很多平臺(tái)的構(gòu)建工具和測(cè)試運(yùn)行器都處在開(kāi)發(fā)當(dāng)中,并且現(xiàn)在已經(jīng)有Linux的Autotools支持了。
            • 支持fatal和nonfatal斷言。在nonfatal失敗后測(cè)試還會(huì)繼續(xù)。這使得在一次單獨(dú)的編輯——編譯——測(cè)試周期中能發(fā)現(xiàn)并修復(fù)更多問(wèn)題。
            • 對(duì)常見(jiàn)的測(cè)試需求提供很多斷言,同時(shí)你也可以輕松地對(duì)不常見(jiàn)的情況定義新的斷言
            • 在Linux上,你可以編寫(xiě)death tests以確保你的代碼在遇到期望的錯(cuò)誤時(shí)崩潰。
            • 因?yàn)樵摽蚣芑诹餍械膞Unit架構(gòu),所以如果你以前使用過(guò)該家族中的任何一個(gè)測(cè)試框架,那么就很容易掌握它。

            C++社區(qū)一直都覺(jué)得他們的單元測(cè)試工具不如Java和C#等其他現(xiàn)代語(yǔ)言的好,很多人還會(huì)問(wèn):“為什么還要用另一個(gè)工具?它有什么特別的?”。在其wiki的Faqs中,Googlers嘗試去解答這些問(wèn)題。他們說(shuō)他們并沒(méi)有宣稱其工具要比現(xiàn)存的好,而僅僅是將對(duì)其工作有幫助的一些功能整合起來(lái)。從該站點(diǎn)上我們看到:

            我們希望這個(gè)列表能幫助你判定Google Test是否對(duì)你也有幫助:

            • Google Test被設(shè)計(jì)為便攜式的。在很多STL類型(如std::string及std::vector)無(wú)法編譯的地方它都能正常執(zhí)行。它無(wú)需異常或者RTTI。所以,它能運(yùn)行在Linux、Mac OS X、Windows及一些嵌入式操作系統(tǒng)上。
            • 事實(shí)證明Nonfatal斷言(EXPECT_*)可以節(jié)省大量時(shí)間,因?yàn)樗麄兪沟迷谝淮螁为?dú)的編輯——編譯——測(cè)試周期中能報(bào)告多個(gè)失敗。
            • 編寫(xiě)可以生成信息的斷言非常簡(jiǎn)單:就用流(stream)語(yǔ)法來(lái)附加任何額外的信息就行,如ASSERT_EQ(5, Foo(i)) << " where i = " << i;。它不需要新的宏或者特殊的函數(shù)。
            • Google Test自動(dòng)檢測(cè)你的測(cè)試,你如果想運(yùn)行測(cè)試的話就無(wú)需列舉他們。
            • 沒(méi)有一個(gè)框架能預(yù)料到你所有的需求,因此Google Test提供了EXPECT_PRED*以方便地?cái)U(kuò)展你的斷言詞匯表。通過(guò)良好的語(yǔ)法,你可以使用EXPECT_PRED*來(lái)方便地定義你自己的斷言宏。
            • Death tests非常方便,它能確保恰當(dāng)?shù)那闆r可以觸發(fā)你在產(chǎn)品中的斷言。
            • 當(dāng)斷言失敗是來(lái)自于內(nèi)部的過(guò)程或者循環(huán)時(shí),SCOPED_TRACE有助于你了解斷言失敗的上下文。
            • 你可以使用命名模式來(lái)決定運(yùn)行哪些測(cè)試。當(dāng)你想快速重現(xiàn)某個(gè)失敗時(shí)這會(huì)節(jié)省你大量時(shí)間。

            Saptarshi Purkayastha花了一些時(shí)間來(lái)調(diào)研該框架并在其博客上寫(xiě)了一些想法。他的反應(yīng)是積極的。?

            該框架另一個(gè)讓人稱道的地方就是學(xué)習(xí)其基礎(chǔ)與高級(jí)特性都是那么容易。它與xUnit非常像并且具備了可以與CppUnit抗衡的優(yōu)勢(shì)。你可以從這里學(xué)習(xí)基礎(chǔ),從這里學(xué)習(xí)高級(jí)特性。Predicate Assertions可能是我最喜歡的特性之一了,當(dāng)我們調(diào)試遇到麻煩時(shí)就可以在程序中使用該特性。還有很多其他的斷言,我們還沒(méi)有深入地研究他們。但是自從第一次看到該框架,我們很多人就將它作為最好的測(cè)試框架之一了...

            根據(jù)wiki所述,你可以查看初級(jí)手冊(cè)以盡快上手Google Test,然后請(qǐng)參考高級(jí)指南以了解更多內(nèi)容。

            可從這里下載該框架,嘗試一下,然后告訴社區(qū)你的想法!

            查看英文原文: Announcing: New Google C++ Testing Framework

            色欲综合久久中文字幕网| 久久精品国产一区二区| 国产亚洲精品久久久久秋霞| 亚洲午夜久久久久妓女影院| 精品人妻久久久久久888| 精品久久国产一区二区三区香蕉 | 久久被窝电影亚洲爽爽爽| 51久久夜色精品国产| 久久亚洲AV成人无码| 国产精品久久精品| 久久天天躁狠狠躁夜夜2020老熟妇 | 久久久久国产一区二区| 日韩精品久久无码人妻中文字幕| 国产叼嘿久久精品久久| 久久久久亚洲av无码专区喷水 | 久久这里都是精品| 亚洲国产精品久久久久婷婷软件 | 99久久精品国产毛片| 一级做a爰片久久毛片毛片| 99久久精品这里只有精品| 欧美喷潮久久久XXXXx| 久久综合九色综合欧美就去吻| 狠狠色丁香久久综合婷婷| 亚洲国产精品成人久久| 国产精品亚洲综合久久| 亚洲精品无码久久不卡| 久久精品夜色噜噜亚洲A∨| 91精品国产91热久久久久福利 | 性欧美丰满熟妇XXXX性久久久 | 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 久久丫精品国产亚洲av不卡| 国产精品久久久久a影院| 久久久久久久国产免费看| 99久久精品国产综合一区| 狠狠色丁香婷婷久久综合不卡| 久久精品午夜一区二区福利 | 狠狠综合久久综合中文88| 国内精品久久久久久久涩爱 | 伊人久久大香线蕉av不变影院| 国产精品久久久久久久app| 东方aⅴ免费观看久久av|