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

posts - 319, comments - 22, trackbacks - 0, articles - 11
  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

搜索 
 對于  
V1_6_XcodeGuide  
在 Mac OS X 上 Xcode 使用谷歌測試框架指南 
部署階段
zhanyong...@gmail.com更新的2011 年 4 月 18 日

本指南將介紹如何在 Mac OS X 上的 Xcode 項目中使用谷歌測試框架。本教程開始快速解釋為有經(jīng)驗的用戶做什么。快速起步后指南 》 都提供了進(jìn)一步的解釋每個步驟。

快速入門

這是快速指南在 Xcode 項目中使用谷歌測試。

  1. 使用此命令在網(wǎng)站下載源代碼: svn 簽出 http://googletest.googlecode.com/svn/trunk/ googletest 只讀
  2. 開放中的gtest.xcodeproj googletest-讀-只/xcode/目錄并生成 gtest.framework。
  3. 名為"UnitTests"類似 Xcode 項目中創(chuàng)建一個新的"殼工具"目標(biāo)
  4. 將 gtest.framework 添加到您的項目,并將其添加到"UnitTests"的"鏈接二進(jìn)制與圖書館"生成階段
  5. 添加您的單元測試的源代碼以"UnitTests"的"編譯來源"生成階段
  6. 編輯"UnitTests"可執(zhí)行文件并添加環(huán)境變量命名為"DYLD_FRAMEWORK_PATH"值等于框架包含 gtest.framework 相對于已編譯的可執(zhí)行文件的路徑。
  7. 生成并轉(zhuǎn)
以下各節(jié)進(jìn)一步解釋每個深度,更詳細(xì)地描述了如何完成它包括一些變化在上面列出的步驟。

獲取源

目前,此處討論的 gtest.framework 標(biāo)記的谷歌測試版本中不可用,只有在樹干。解釋在谷歌測試網(wǎng)站,你可以得到代碼從匿名 SVN 使用此命令:

svn checkout http://googletest.googlecode.com/svn/trunk/ googletest-read-only

或者,如果您正在使用顛覆您自己的代碼庫中,可以添加 Google Test 作為外部相關(guān)性顛覆資料庫。按照這種方法,簽出 svn 存儲庫,所有人都還將收到一份 Google 測試 (特定的版本,如果您愿意) 而不必顯式簽出。這一組的組成項目簡單并減少復(fù)制到存儲庫中的代碼。

若要使用svn:externals,決定要將具有外部源駐留。因為你想要分支的一部分進(jìn)行發(fā)布時,您可以選擇把樹干內(nèi), 外部源。然而,把它稱為third-party/googletest/1.0.1類似的版本標(biāo)記的目錄中的樹干以外,是另一種選擇。一旦建立了位置,則使用svn propedit svn:externals _directory_ svn:externals 屬性設(shè)置對存儲庫中的目錄。此目錄不能包含的代碼,但它的版本控制的父目錄。

命令svn propedit將會出現(xiàn)你顛覆編輯器中,使編輯更簡單長,(可能多行) 的屬性。這同一種方法可用于檢查出標(biāo)記的分支,通過使用相應(yīng)的 URL (例如http://googletest.googlecode.com/svn/tags/release-1.0.1)。另外,svn:externals 屬性允許的特定修訂版的樹干與規(guī)范-r_ # # _選項 (例如的外部對象/src/googletest-r60 http://googletest.googlecode.com/svn/trunk).

這里是一個項目 (閱讀通過svn propget) 樹干上使用 svn:externals 屬性的示例。此值將簽出到谷歌測試的副本主干/外部對象/src/googletest/目錄。

[Computer:svn] user$ svn propget svn:externals trunk
externals
/src/googletest http://googletest.googlecode.com/svn/trunk

向項目中添加框架

下一步是建立并將 gtest.framework 添加到您自己的項目。本指南描述了下面的兩種常用方法。

  • 選項 1 ---將谷歌測試添加到您自己的項目,最簡單的方法就是打開 gtest.xcodeproj (xcode 中發(fā)現(xiàn)谷歌測試樹干的目錄) 和手動構(gòu)建框架。然后,將生成的框架添加到您的項目使用"添加-> 現(xiàn)有框架 … …"從上下文菜單或"項目-> 添加..."從主菜單。Gtest.framework 是可重定位,并包含頁眉和您需要進(jìn)行測試的目標(biāo)代碼。此方法要求重建每次您升級谷歌測試您的項目中。
  • 選項 2 ---如果您打算將為生的谷歌測試樹干,其最新的功能納入您的單元測試 (或自己是谷歌測試開發(fā)人員)。你要重建框架,每次更新源。要這樣做,您需要將 gtest.xcodeproj 文件,框架本身,添加到您自己 Xcode 項目。然后,從生成產(chǎn)品項目的三角形發(fā)現(xiàn),您可以找到 gtest.framework,可以添加到你的目標(biāo) (以下討論)。

使測試目標(biāo)

要開始編寫測試,使新的"殼工具"目標(biāo)。此目標(biāo)模板是 BSD、 可可、 或碳下可用。添加您的單元測試的目標(biāo)"編譯來源"生成階段的源代碼。

接下來,你要在兩種不同方法中添加 gtest.framework,取決于哪個選項您選擇以上。

  • 選項 1 ---在編譯期間,Xcode 將需要知道您要鏈接對 gtest.framework。將 gtest.framework 添加到您的測試目標(biāo)的"鏈接二進(jìn)制與圖書館"生成階段。這將包括谷歌測試頭在標(biāo)題搜索路徑中,并將告訴鏈接器在哪里可以找到的庫。
  • 選項 2 ---如果您工作的樹干,你也要將 gtest.framework 添加到您的測試目標(biāo)的你"鏈接二進(jìn)制與圖書館"生成階段。此外,你要將 gtest.framework 作為依賴項添加到你的單元測試目標(biāo)。這種方式,Xcode 將確保該 gtest.framework 是到目前為止,每次您的構(gòu)建你的目標(biāo)。最后,如果你不使用谷歌測試共享生成目錄,你得將 gtest.framework 復(fù)制到您自己生成產(chǎn)品目錄,使用"運行腳本"生成階段。

設(shè)置可執(zhí)行文件運行環(huán)境

可執(zhí)行單元測試是殼的工具,因為它沒有一捆,內(nèi)容/框架的目錄,在其中放置 gtest.framework。相反,必須在運行時告訴動態(tài)鏈接器搜索中的另一個位置的框架。這可以通過在"編輯活動的可執(zhí)行文件..."中設(shè)置的"DYLD_FRAMEWORK_PATH"的環(huán)境變量參數(shù)選項卡,在"設(shè)置環(huán)境變量:"。此值的路徑是目錄的包含 gtest.framework 的路徑 (相對或絕對)。

如果您還沒有設(shè)置 DYLD_FRAMEWORK_PATH,正確,可能會得到這樣一條消息:

[Session started at 2008-08-15 06:23:57 -0600.]
  dyld
: Library not loaded: @loader_path/../Frameworks/gtest.framework/Versions/A/gtest
   
Referenced from: /Users/username/Documents/Sandbox/gtestSample/build/Debug/WidgetFrameworkTest
   
Reason: image not found

要正確這個問題,必須包含可執(zhí)行文件中指定的目錄"從引用:"上述錯誤消息中的值。然后,在此位置的終端,發(fā)現(xiàn)包含 gtest.framework 的目錄的相對路徑。這就是你需要設(shè)置為 DYLD_FRAMEWORK_PATH 的值。

生成并轉(zhuǎn)

現(xiàn)在,當(dāng)您單擊"生成走",將會執(zhí)行測試。傾倒出這樣的事:

[Session started at 2008-08-06 06:36:13 -0600.]
[==========] Running 2 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 2 tests from WidgetInitializerTest
[ RUN      ] WidgetInitializerTest.TestConstructor
[       OK ] WidgetInitializerTest.TestConstructor
[ RUN      ] WidgetInitializerTest.TestConversion
[       OK ] WidgetInitializerTest.TestConversion
[----------] Global test environment tear-down
[==========] 2 tests from 1 test case ran.
[  PASSED  ] 2 tests.

The Debugger has exited with status 0.  

摘要

單元測試是有價值的方式,確保你的數(shù)據(jù)模型保持有效,即使在快速發(fā)展過程中或重構(gòu)。谷歌測試框架是偉大單元測試框架,C 和 c + + 于一體的與 Xcode 開發(fā)環(huán)境很好。

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲天堂激情| 久久爱91午夜羞羞| 国产视频精品免费播放| 欧美不卡激情三级在线观看| 亚洲国内高清视频| 欧美日韩国产精品一卡| 亚洲欧美日韩成人| 欧美黄色aa电影| 亚洲一二三四久久| 尹人成人综合网| 国产精品视频久久久| 欧美福利影院| 午夜精品视频在线观看一区二区| 国产日韩一区在线| 好吊色欧美一区二区三区视频| 欧美大学生性色视频| 欧美在线免费| 日韩视频一区二区三区在线播放免费观看| 噜噜噜噜噜久久久久久91| 亚洲欧美日韩精品久久久久| 在线视频日韩| 精品91视频| 国产精品久久二区二区| 欧美影院在线播放| 久久亚洲电影| 久久久久久穴| 亚洲欧美激情一区| 亚洲欧美国产精品桃花| 久久亚洲私人国产精品va媚药 | 国产精品久久久久久久久免费桃花| 久久野战av| 欧美日韩精品欧美日韩精品| 国产一区白浆| 国产一区二区三区久久久久久久久 | 亚洲黄一区二区三区| 国产视频一区在线观看| 久久亚洲私人国产精品va| 国产精品国产三级国产专区53 | 久久精品理论片| 亚洲手机视频| 欧美ed2k| 久久国产精品黑丝| 欧美77777| 欧美激情精品久久久久| 欧美日韩免费一区| 国产精品免费在线| 亚洲精品专区| 午夜精品美女久久久久av福利| 蜜桃av噜噜一区二区三区| 欧美激情第9页| 欧美一区二区三区在线| 美脚丝袜一区二区三区在线观看 | 久久亚洲不卡| 亚洲成人在线免费| 欧美在线在线| 在线视频日本亚洲性| 在线视频欧美一区| 欧美乱大交xxxxx| 国产精品亚洲综合| 亚洲永久免费| 欧美成年人视频网站| 欧美亚洲免费电影| 国产在线拍揄自揄视频不卡99 | 午夜精品影院| 亚洲男人的天堂在线aⅴ视频| 国产精品久久久久久久浪潮网站| 正在播放亚洲一区| 一区二区三区产品免费精品久久75| 先锋影音一区二区三区| 欧美国产日韩xxxxx| 亚洲高清在线播放| 亚洲一区综合| 亚洲图片自拍偷拍| 欧美精品久久一区| 狠狠色综合色区| 久久字幕精品一区| 亚洲高清久久| 亚洲综合成人婷婷小说| 国产精品看片你懂得| 午夜精品久久久久| 午夜精品一区二区三区在线播放| 国产在线播放一区二区三区 | 亚洲私拍自拍| 韩日精品中文字幕| 亚洲国产黄色| 国产精品欧美日韩| 美女久久网站| 欧美日韩国产成人精品| 欧美亚洲一区二区三区| 亚洲区一区二区三区| 久久久99国产精品免费| 国产精品一区二区久久| 在线视频中文亚洲| 午夜精品福利视频| 91久久久国产精品| 欧美 日韩 国产精品免费观看| 欧美激情aⅴ一区二区三区| 亚洲一区二区黄色| 久久一二三四| 欧美主播一区二区三区| 欧美激情视频在线播放 | 欧美成人网在线| 香蕉国产精品偷在线观看不卡| 久热成人在线视频| 黄色免费成人| 日韩一区二区精品视频| 国内精品久久久久影院薰衣草| 亚洲人成网站777色婷婷| 国产亚洲精品美女| 一本大道久久精品懂色aⅴ| 欧美日韩成人综合在线一区二区 | 国产精品久久久亚洲一区| 欧美高清视频一区二区三区在线观看| 国产精品成人免费| 亚洲国产另类精品专区| 欧美成人在线影院| 久久久久国产一区二区三区四区| 欧美在线日韩| 亚洲伊人观看| 欧美激情区在线播放| 久久综合伊人77777| 国产欧美日韩在线播放| 另类专区欧美制服同性| 欧美日韩综合在线免费观看| 午夜精品一区二区在线观看| 欧美精品激情在线观看| 欧美不卡福利| 亚洲国产精品久久精品怡红院| 久久国产色av| 久久久国产91| 国产午夜久久久久| 性久久久久久久久| 久久久久国产精品一区| 国内精品久久久久久| 欧美激情二区三区| 影音先锋日韩资源| 久久久噜噜噜久久中文字免| 久久精品日产第一区二区三区| 国产精品综合av一区二区国产馆| 亚洲视频一区二区免费在线观看| 亚洲视频在线一区| 国产精品人成在线观看免费| 亚洲一区二区免费看| 永久免费精品影视网站| 欧美一区二区在线| 麻豆精品网站| 亚洲精品极品| 欧美中文字幕视频| 久久爱www久久做| 韩日精品视频一区| 欧美高清在线视频| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 亚洲黄页视频免费观看| 国产精品一区二区在线观看不卡| 中文精品在线| 欧美在线视频二区| 在线观看福利一区| 欧美高清在线视频观看不卡| 夜夜夜久久久| 久久青青草综合| 国产精品日韩一区| 欧美一区二区三区精品电影| 蜜臀99久久精品久久久久久软件| 亚洲国产欧美不卡在线观看| 欧美精品一区三区| 亚洲一区二区免费| 欧美不卡高清| 亚洲欧美精品在线观看| 激情综合中文娱乐网| 欧美伦理a级免费电影| 亚洲欧美日本国产有色| 久久尤物电影视频在线观看| 亚洲精品中文字幕在线| 国产精品一区一区| 欧美成人a∨高清免费观看| 亚洲小视频在线观看| 欧美成人激情在线| 欧美一区二区三区婷婷月色| 国产精品白丝av嫩草影院| 亚洲理论电影网| 亚洲日本精品国产第一区| 欧美日韩一区二区在线观看| 欧美一区二区视频观看视频| 亚洲欧洲精品一区二区三区| 欧美亚洲网站| 99在线视频精品| 欧美午夜电影在线| 久久久夜色精品亚洲| 在线性视频日韩欧美| 欧美成人免费网| 久久久av水蜜桃| 亚洲自啪免费| 亚洲婷婷综合久久一本伊一区| 在线观看亚洲精品| 国产精品专区一| 欧美日韩精品免费在线观看视频| 久久一区激情| 久久久精品久久久久| 亚洲欧美日韩一区二区三区在线| 亚洲黄网站在线观看|