Gtest測試,入門簡介: 資源:http://developer.51cto.com/art/201108/285290.htm http://www.cnblogs.com/bangerlee/archive/2011/10/08/2199701.html 1、必須包含頭文件 #include <gtest/gtest.h> 2、定義一個結構體,經常做爲輸入 struct MyTestParam{ int x; int y; }; 3、實例化測試狀況 class MyTest : public testing::TestWithParam<MyTestParam>{};
//在該類中,咱們能夠編寫SetUp()和TearDown()函數,分別完成數據初始化和數據清理,還能夠添加類成員、其餘類成員函數,相關的用法,能夠參看Gtest Project的例子,這裏咱們僅對函數做測試,SetUp()等方法都不須要用到,MyTest爲一個空的類。 struct MyTestParam mp; INSTANTIATE_TEST_CASE_P(TrueReturn, MyTest, testing::Values(mp)); 4、函數入口main int main(int argc, char *argv[]){ if(argc !=3){ printf("Error Params!\n"); printf("Usage: \n"); return 0; } else{ mp.x = argv[1]; mp.y = atof(argv[2]); testing::InitGoogleTest(&argc, argv); //調用gtest入口 return RUN_ALL_TESTS(); } } 5、實現部分 TEST_P(MyTest, MY_GTEST_NAME_ADD) { //自動調用本部分 MyTestParam mtp = GetParam(); //獲取參數 int c = add(x, y); //調用要測試的函數 EXPECT_EQ(x+y, c); //還有其餘的EXPECT_TRUE(判爲真),EXPECT_NE(判不相等),EXPECT_STREQ(字符串相等) }