gmock學習01---Linux配置gmock


本文目的

本文主要介紹gmock 1.6.0版本在Linux上如何部署和使用。

 

gmock是做什么的?

使用C++手動編寫mock對象將會是一件十分耗時,易於出錯,枯燥乏味的事情。gmock提供一整套mock 框架,幫助你完成這些臟活累活。

 

編譯gmock

1 下載: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 # 查看編譯結果,如下圖

clip_image002

5 驗證:注意上面的截圖,可以看見gmock_test這個文件,該文件用於測試,使用命令“./gmock_test”運行改程序,如果出現下面全部綠色的文字,說明你的gmock編譯成功,環境搭建完成。

clip_image004

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,如下圖所示

clip_image006

那么此時你需要自己編寫main函數和初始化gmock框架。

gtest不支持正則表達式悲傷gmock支持微笑

gtest框架沒有提供字符串正則表達式的api,但是gmock提供了,gmock沒有重造輪子自己寫一個正則的庫,而是封裝了<regex.h>中的相關api,在編譯gmock時,會通過宏來判斷系統中是否支持<regex.h>,如果系統不支持,那么gmock中的正則api將無法使用。下面的示例代碼描述了如何使用正則API:

clip_image008

同時,也可以參考gmock的官方說明文檔中的正則匹配相關部分。

 

使用gmock

附件中有一個工程,試用了gmock,感覺使用起來還是很方便的。看代碼比看我的描述要快,我就不多啰嗦。這里,簡單的描述如何編譯該項目

clip_image010

該項目編譯時使用的是gmock和gmock中自帶的gtest,在編譯過程中需要將該項目的根目錄和gmock同一個層級。然后cd到該項目中,make就可以編譯。通過“./mock_demo”運行該項目。如下圖所示:

clip_image012

當然,這里只是簡單的介紹了如何使用gmock,gmock還有很多使用技巧和方法大家可以自己去摸索總結。

附件http://files.cnblogs.com/bourneli/gmock_learn.zip

相關資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM