gtest入門簡介

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(字符串相等) }
相關文章
相關標籤/搜索