gtest測試框架是google開源的用於在不同平臺上(Linux,Mac OS X,Windows,Cygwin,Windows CE和Symbian)爲編寫C++測試用例的項目。它是基於xUnit架構的測試框架,支持自動發現測試,豐富的斷言集, 用戶定義的斷言,death測試,致命與非致命的失敗,類型參數化測試,各類運行測試的選項和XML的測試報告。
gtest項目官方網址:https://code.google.com/p/googletest
本文主要講解在ubuntu 13.10上通過apt-get命令來安裝gtest。具體步驟如下:
1. 先下載源碼
sudo apt-get install libgtest-dev
2. 由於在ubuntu的軟件庫中沒有提供gtest的庫文件,因此,第1步的操作只是下載了必要的源碼,如果此時在項目中引入gtest/gtest.h頭文件,代碼在編譯時期是沒有問題的,只是在連接的時候會找不到對應的庫文件。那麼如何編譯並生成所需的gtest庫呢?
首先,先確保系統已經安裝了cmake編譯工具,如果沒有安裝則可以執行sudo apt-get install cmake;其次安裝如下步驟操作即可:
cd /usr/src/gtest #安裝libgtest-dev後,gtest的源碼會被放置在該目錄中, 目錄及文件結構大概如下:
├── cmake│ └── internal_utils.cmake├── CMakeLists.txt└── src├── gtest-all.cc├── gtest.cc├── gtest-death-test.cc├── gtest-filepath.cc├── gtest-internal-inl.h├── gtest_main.cc├── gtest-port.cc├── gtest-printers.cc├── gtest-test-part.cc└── gtest-typed-test.cc
sudo cmake -E make_directory build #創建一個gtest的編譯目錄
sudo cmake -E chdir build cmake .. >> /dev/null #創建並生成Makefile文件
sudo cmake --build build >> /dev/null #編譯
ls build/libgtest* #編譯後build目錄中會生成如下兩個文件
build/libgtest.a build/libgtest_main.a
sudo cp build/libgtest* /usr/local/lib/ #將生成的庫文件拷貝到對應的庫目錄中,這裏拷貝到/usr/local/lib/下
sudo rm -rf build #刪除無用的目錄
3. 在使用gtest的項目中引入libgtest.a庫即可。注:在gtest使用了系統的線程庫,所以在項目中還需要引入pthread庫
4. 源碼編譯gtest庫與上述的操作有點類似,只是需要到https://code.google.com/p/googletest/downloads/list中去下載源碼包,解壓後按照cmake編譯項目的方法操作即可。
5. 關於如何使用gtest可以參考系列文章http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html