本文目的
本文主要介紹gmock 1.6.0版本在linux上如何部署和使用。
gmock是做什麼的?
使用c++手動編寫mock物件將會是一件十分耗時,易於出錯,枯燥乏味的事情。gmock提供一整套mock 框架,幫助你完成這些髒活累活。
編譯gmock
2上傳:使用winscp或其他工具將gmock_1.x.x.zip上傳到linux機器,該linux上的gcc版本最好在4.0以上。
3解壓:使用命令「unzip gmock_1.x.x.zip」,解壓後會在「gmock_1.x.x.zip」同乙個目錄下生成乙個gmock_1.x.x目錄,使用命令「mv gmock_1.x.x gmock」將該目錄改命為gmock,設gmock目錄的路徑為gmock_home。
4編譯:使用如下些列命令編譯
cd gmock_home/make #跳轉到makefile目錄
make #編譯
ln -s gmock_main.a libgmock.a #為gmock_main.a製作符
#合gnu標準的軟鏈結
ll #檢視編譯結果,如下圖
5驗證:注意上面的截圖,可以看見gmock_test這個檔案,該檔案用於測試,使用命令「./gmock_test」執行改程式,如果出現下面全部綠色的文字,說明你的gmock編譯成功,環境搭建完成。
gmock_main.a中都有些什麼
編譯完gmock後嗎,主要生成了乙個靜態庫gmock_main.a。該庫中包含了gmock的框架,同時,也包含了gtest框架,可以認為gtest是gmock的乙個子集。在gmock_main.a中預設編譯了乙個main函式,該main函式會初始化gmock和gtest,並且執行所有的test或test_f巨集定義的測試用例,所以使用gmock_main.a進行單元測試時,不能編寫main函式,否則會出現多個main衝突。如果需要重寫main函式,可以使用命令「make gmock.a」,重新編譯,會生成檔案gmock.a,如下圖所示
那麼此時你需要自己編寫main函式和初始化gmock框架。
gtest不支援正規表示式
,gmock支援
gtest框架沒有提供字串正規表示式的api,但是gmock提供了,gmock沒有重造輪子自己寫乙個正則的庫,而是封裝了中的相關api,在編譯gmock時,會通過巨集來判斷系統中是否支援,如果系統不支援,那麼gmock中的正則api將無法使用。下面的示例**描述了如何使用正則api:
同時,也可以參考gmock的官方說明文件中的正則匹配相關部分。
使用gmock
附件中有乙個工程,試用了gmock,感覺使用起來還是很方便的。看**比看我的描述要快,我就不多囉嗦。這裡,簡單的描述如何編譯該專案
該專案編譯時使用的是gmock和gmock中自帶的gtest,在編譯過程中需要將該項目的根目錄和gmock同乙個層級。然後cd到該專案中,make就可以編譯。通過「./mock_demo」執行該專案。如下圖所示:
當然,這裡只是簡單的介紹了如何使用gmock,gmock還有很多使用技巧和方法大家可以自己去摸索總結。
附件:
相關資料
01 Linux常用指令
建立連線 ssh username ip address p port關閉連線 ctrl d 遠端複製檔案 scp r 資料夾 使用者名稱 ip address 路徑 scp r 檔名 使用者名稱 ip address 路徑 scp 使用者名稱 ip 檔名 儲存路徑 操作資料夾加上 r引數 scp ...
01 linux命令基礎
我們先了解一下命令的標準格式吧!乙個完整的指令的標準格式 linux 通用的格式 指令主題 選項 操作物件 乙個指令可以包含多個選項 操作物件也可以是多個 用法1 ls含義 列出當前工作目錄下的所有檔案和資料夾名稱 用法2 ls 路徑 含義 列出指定路徑下的所有檔案 資料夾名稱 關於路徑 路徑可以分...
01 Linux終端命令格式
學習目標 command options parameter 說明 代表可選,即該出可寫或者不寫 command help 顯示 command 命令的幫助資訊例如 sudo help 檢視sudo命令的幫助資訊man command 顯示command 命令的說明手冊,man 是 manual 的...