gtest学习笔记

工作中统计代码覆盖率,用到了gtest。
此处为GoogleTest—AdvancedGuide的译文
此处为CoderZh的一系列gtest学习笔记

gtest愚见以为,是一个测试代码中函数的一个框架。简单的函数直接给入参,复杂的函数要继承相应的类来完成全局变量,以及各种条件的初始化,最终完成测试。

断言的一些东西可以在用到的时候搜一下
总结一些注意的点,以备以后快速上手以及阅读mesos测试用例方便

gtest的事件分为一下三种:

1.全局的,所有案例执行前后。
2.TestSuite级别的,在某一批案例中第一个案例前,最后一个案例执行后。
3.TestCase级别的,每个TestCase前后

1>全局事件,必须写一个类,继承testing::Environment类,实现里面的SetUp和TearDown方法。

2>TestSuite级别事件需要写一个类,继承testing::Test,然后实现两个静态方法
SetUpTestCase() 和TearDownTestCase() 方法。

3>TestCase级别事件需要写一个类,继承testing::Test,然后实现SetUp()和TearDown()方法。

如果有继承,则需要用TEST_F(TestSuite,TestName)宏

参数化:

1.使同一类型的多个输入数据不写等同的测试用例(代码复用)

需要添加一个类,继承testing::TestWithParam,其中T就是参数化的参数类型。需要用TEST_P(TestSuite,TestName)宏。

class IsPrimeParamTest : public::testing::TestWithParam<int>
{

};
INSTANTIATE_TEST_CASE_P(TrueReturn, IsPrimeParamTest, testing::Values(3, 5, 11, 23, 17));
//第一个参数是测试案例的前缀,可以任意取。
//第二个参数是测试案例的名称,需要和之前定义的参数化的类的名称相同,如:IsPrimeParamTest
//第三个参数是可以理解为参数生成器,上面的例子使用test::Values表示使用括号内的参数。Google提供了一系列的参数生成的函数

TEST_P(IsPrimeParamTest, HandleTrueReturn)
{
    int n =  GetParam();
    EXPECT_TRUE(IsPrime(n));
}

2.类型测试
3.类型参数化测试

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值