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! "); printf("Usage: "); 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(字符串相等) }
原文地址:https://www.cnblogs.com/hansjorn/p/4886419.html