gmock學習日記(持續更新中)

最近一直在讀《C++程序設計實踐與技巧-測試驅動開發》一書,這不僅僅是一本講程序設計的書,更是一本使用gmock和gtest技術,秉承TDD(“測試驅動開發”)的理念的軟件開發流程的好書。讀這本書時,一定要參考隨書源代碼來讀,直接閱讀書籍總覺得感悟有點不深刻。

在此記錄下學習過程中的幾個階段:

一、 2月10號 下載隨書代碼,並搭建運行環境

1.升級cmake版本到3.16.5

更換高版本的cmake,否則有的開源代碼需要的cmake版本比較高

 

2.安裝gmock

隨書代碼使用的gmock版本是1.6.0,開始我使用了github上最新版的gmock源代碼,發現編譯隨書代碼有問題,

反正是學習和實驗使用,還是先採用1.6.0版本的gmock源代碼比較好。

設置GMOCK_HOME環境變量

export GMOCK_HOME=gmock源代碼路徑

mkdir my_build

cd my_build

cmake ..

make

make install

 

3.安裝CppUTest單元測試框架

下載源代碼,安裝

創建環境變量CPPUTEST_HOME

 

4.安裝libcurl

下載源代碼,安裝

 

5.安裝jsoncpp

下載源代碼,安裝

一切準備就緒後,還需要修改下CMakeLists.txt

target_link_libraries(test json_linux-gcc)

修改爲

target_link_libraries(test jsoncpp)

 

在高版本編譯器上,會報N多warning警告信息,處理如下:

修改下CMakeLists.txt,當編譯器版本大於4.2時,添加-Wno-unused-local-typedefs

if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.2)
   set(CMAKE_CXX_FLAGS "${CMAXE_CXX_FLAGS} -Wno-unused-local-typedefs")
endif()

 

二、 2月13號~14號  gtest官網文檔閱讀

https://github.com/google/googletest/blob/master/googletest/docs/primer.md

英語水平有限,在有道詞典的幫助下,大概過了下gtest的官方文檔

看到abseil是重度使用了gtest,還特意下載了abseil源代碼,看了好幾個小時,咦?我不是要看gtest的嗎。。。,迴歸正題

abseil的源代碼畢竟是google出品,代碼質量高,而且註釋超多,思路也清晰,抽時間要好好研讀下。

gtest學起來還是挺容易的,分爲以下幾個主題:

Basic Assertions

Binary Comparison

String Comparison

Simple Tests

Test Fixtures

Invoking the Tests

Writing the main() Function

 

三、 2月15號~25號  gmock官網文檔閱讀

gmock是我學的過程中比較吃力的,光官網文檔就看了好久。gmock的用法很多,先睡覺了,今天先不寫了,等待明天再寫

參考資料:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章