我想出了谷歌測試平臺。我希望這個Gtest平臺能夠幫助我目前的項目。無法使用gmock/gmock.h生成C/C++程序,生成的錯誤太多
所以,我沒有看到來自Gtest團隊的任何教程,以指導如何創建新項目並編譯項目,同時包括庫「gmock/gmork」和「gtest/gtest.h」。
我從網上下載回購的GTEST項目:谷歌/ googletest
做一些措施,能夠使用GTEST框架:
Intall GTEST平臺:
$ sudo易於得到安裝libgtest-dev #gtest
$ sudo apt-get install google-mock #gmock
然後,安裝CMake:
$ sudo易於得到安裝CMake
,並建立2個項目(GTEST和gmock)
$ CD/usr/src目錄/ GTEST
$須藤的cmake的CMakeLists.txt
$ CD/usr/src目錄/ gmock
$ sudo的cmake的的CMakeLists.txt
$ sudo的使
最後,複製所有* .a文件到/ usr/lib目錄
$ CP * .A/usr/lib目錄
包括:libgtest。 a,libgtest_main.a,libgmock.a,libgmock_main.a
我在Ubuntu 14.04 LTS中通過Eclipse C創建了一個新項目。 當我包括gtest.h到我的項目,該項目已成功建成並運作良好
g++ -o "myGtest" ./myGtest.o ./src_code.o -lgtest -lpthread
但是,如果包括更多gmock.h,該方案未能建立。編譯器genereted錯誤太多
g++ -o "myGtest" ./myGtest.o ./src_code.o -lgtest -lgmock -lpthread
請幫我解決這個問題。
順便說一句,我有一個問題:
假設我有一個簡單的模塊C src_code。C,例如:
我測試功能,在功能調用的測試,我想重新路由程序無法執行此測試,它會跳到我的自定義的測試 例如,在myGtest.cpp中,我寫道:
int test(int a) {
printf("overridden successful !\n");
return a;
}
此技術是模擬或存根或虛擬函數。
請給我詳細信息如何通過Gtest框架來模擬被測模塊中的內部函數?請給我一個例子。
我曾嘗試在此站點上一篇文章中找到解決方案。
但是,我沒有弄清楚我的答案。
#include #include // ...顯示錯誤 –