• <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.¢%

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

            Google新的C++測試框架

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

            Google新的C++測試框架發布啦

            作者 Mike Bria譯者 張龍 發布于 2008年7月17日 上午1時39分

            社區
            .NET,
            Agile,
            Java
            主題
            工件和工具,
            單元測試
            標簽
            C++

            Google最近開源了其基于xUnit的C++單元測試框架。項目開發者Zhanyong Wan說在Google內部已經有數以千計的C++開發者在使用該框架,并且已經持續好幾年了。?

            根據Google所述,此次發布的主要亮點體現在:

            • Google Test是便攜式的:它可以通過不同版本的GCC和MSVC編譯器應用在多種平臺上(Linux、Windows、Mac OS X等等)。你甚至可以將它用于Windows CE和Symbian這樣的嵌入式系統中。很多平臺的構建工具和測試運行器都處在開發當中,并且現在已經有Linux的Autotools支持了。
            • 支持fatal和nonfatal斷言。在nonfatal失敗后測試還會繼續。這使得在一次單獨的編輯——編譯——測試周期中能發現并修復更多問題。
            • 對常見的測試需求提供很多斷言,同時你也可以輕松地對不常見的情況定義新的斷言
            • 在Linux上,你可以編寫death tests以確保你的代碼在遇到期望的錯誤時崩潰。
            • 因為該框架基于流行的xUnit架構,所以如果你以前使用過該家族中的任何一個測試框架,那么就很容易掌握它。

            C++社區一直都覺得他們的單元測試工具不如Java和C#等其他現代語言的好,很多人還會問:“為什么還要用另一個工具?它有什么特別的?”。在其wiki的Faqs中,Googlers嘗試去解答這些問題。他們說他們并沒有宣稱其工具要比現存的好,而僅僅是將對其工作有幫助的一些功能整合起來。從該站點上我們看到:

            我們希望這個列表能幫助你判定Google Test是否對你也有幫助:

            • Google Test被設計為便攜式的。在很多STL類型(如std::string及std::vector)無法編譯的地方它都能正常執行。它無需異常或者RTTI。所以,它能運行在Linux、Mac OS X、Windows及一些嵌入式操作系統上。
            • 事實證明Nonfatal斷言(EXPECT_*)可以節省大量時間,因為他們使得在一次單獨的編輯——編譯——測試周期中能報告多個失敗。
            • 編寫可以生成信息的斷言非常簡單:就用流(stream)語法來附加任何額外的信息就行,如ASSERT_EQ(5, Foo(i)) << " where i = " << i;。它不需要新的宏或者特殊的函數。
            • Google Test自動檢測你的測試,你如果想運行測試的話就無需列舉他們。
            • 沒有一個框架能預料到你所有的需求,因此Google Test提供了EXPECT_PRED*以方便地擴展你的斷言詞匯表。通過良好的語法,你可以使用EXPECT_PRED*來方便地定義你自己的斷言宏。
            • Death tests非常方便,它能確保恰當的情況可以觸發你在產品中的斷言。
            • 當斷言失敗是來自于內部的過程或者循環時,SCOPED_TRACE有助于你了解斷言失敗的上下文。
            • 你可以使用命名模式來決定運行哪些測試。當你想快速重現某個失敗時這會節省你大量時間。

            Saptarshi Purkayastha花了一些時間來調研該框架并在其博客上寫了一些想法。他的反應是積極的。?

            該框架另一個讓人稱道的地方就是學習其基礎與高級特性都是那么容易。它與xUnit非常像并且具備了可以與CppUnit抗衡的優勢。你可以從這里學習基礎,從這里學習高級特性。Predicate Assertions可能是我最喜歡的特性之一了,當我們調試遇到麻煩時就可以在程序中使用該特性。還有很多其他的斷言,我們還沒有深入地研究他們。但是自從第一次看到該框架,我們很多人就將它作為最好的測試框架之一了...

            根據wiki所述,你可以查看初級手冊以盡快上手Google Test,然后請參考高級指南以了解更多內容。

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

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

            亚洲午夜精品久久久久久app| 无码人妻精品一区二区三区久久久| 国产精品一久久香蕉国产线看 | 国内精品人妻无码久久久影院| 国产V综合V亚洲欧美久久| 国产福利电影一区二区三区,免费久久久久久久精 | 97久久天天综合色天天综合色hd| 久久99亚洲综合精品首页| 中文字幕日本人妻久久久免费 | 久久精品视频网| 久久精品亚洲AV久久久无码| 蜜臀av性久久久久蜜臀aⅴ| 国产精品成人久久久久久久| 色欲综合久久中文字幕网| 久久久精品国产亚洲成人满18免费网站| 久久久无码精品亚洲日韩京东传媒| 久久精品国产久精国产| 久久久久无码精品国产不卡| 久久久久久久免费视频| 久久精品国产精品亜洲毛片| 精品精品国产自在久久高清| 国产色综合久久无码有码| 亚洲а∨天堂久久精品| 狠狠色伊人久久精品综合网| 66精品综合久久久久久久| 久久精品国产亚洲AV电影| 久久丫精品国产亚洲av不卡| 国产精品久久久久a影院| 青青热久久国产久精品 | 国产人久久人人人人爽| 青青草原综合久久大伊人| 中文成人久久久久影院免费观看| 久久精品成人免费观看97| 久久精品中文字幕一区| 欧美久久天天综合香蕉伊| 色综合久久久久综合99| 久久男人中文字幕资源站| 久久国产AVJUST麻豆| 伊人久久大香线蕉综合影院首页| 99久久夜色精品国产网站| 日韩AV无码久久一区二区|