- 本文以VS2019為例,自己的工程使用Debug x64,多線程調試DLL(/MDd),用戶可以根據自己需求更改配置,只要所有配置前后統一即可。
-
第一步:clone Google Test源碼
- 打開https://github.com/google/googletest,通過git克隆或者下載ZIP的方式得到源碼。
- 打開https://github.com/google/googletest,通過git克隆或者下載ZIP的方式得到源碼。
-
第二步:生成Google Test的lib
-
在VS2019中,導入.\googletest\msvc\2010\gtest-md.sln
-
修改vs中的解決方案配置,將其修改為和你要測試的工程配置相同,這里以“Debug x64”為例
-
vs中,Debug和Release生成的lib庫是不同的,分別為gtestd.lib和gtest.lib,兩個是不同的,不可混用。
-
在解決方案資源管理器中修改工程的屬性
-
確保配置為Debug x64。
-
修改配置屬性-C/C++-代碼生成-運行庫,將其修改為和你要測試的工程配置相同,這里以“多線程調試DLL(/MDd)”為例
-
-
編譯,生成
-
debug、release兩個模式需要分別設置、編譯生成。
-
編譯后,在msvc/gtest/下有debug、release兩個文件夾。
-
共生成4個文件
-
googletest\msvc\2010\gtest\x64-Debug - Debug方案下的二進制文件:gtestd.lib、gtest_maind.lib(注意主文件名的d后綴)
-
googletest\msvc\2010\gtest\x64-Release - Release方案下的二進制文件:gtest.lib、gtest_main.lib
-
第三步:單元測試
-
在要測試的工程中,添加-新建項-Google Test
-
為要測試的工程添加lib。
-
-
首先確保解決方案配置和工程配置中都是Debug x64。
-
配置屬性-C/C++-代碼生成-運行庫是多線程調試DLL(/MDd)。
-
配置屬性-C/C++-常規”,在“附加包含目錄”中添加“xxx\googletest\include;”(xxx為源碼的路徑)。
-
-
-
配置屬性-鏈接器-輸入-附加依賴項,添加從googletest生成的兩個lib:gtest_maind.lib和gtestd.lib。
-
-
-
第四步:可以寫測試了,寫在你新建的Google Test.cpp里,作為啟動項運行即可
#include "gtest/gtest.h" #include "TestFunction.h"
//MyAdd(int a, int b) { return a+b; }
TEST(MyAdd, 4plus4) { EXPECT_EQ(MyAdd(4,4), 8); EXPECT_TRUE(true); }//通過
TEST(MyAdd, 5plus5) { EXPECT_EQ(MyAdd(5, 5), 8); EXPECT_TRUE(true); }//不通過
int main(int argc, char* argv[]) { testing::InitGoogleTest(&argc, argv);//將命令行參數傳遞給gtest
return RUN_ALL_TESTS(); //RUN_ALL_TESTS()運行所有測試案例
system("pause"); }
- 運行結果