• INSTANTIATE_TEST_CASE_P


    TEST_P(IsEvenTest, allEvenTest)    
        {
            int n = GetParam();
            EXPECT_TRUE(n);
        }

    INSTANTIATE_TEST_CASE_P(TrueReturn, IsEvenTest, testing::Values(2,4,6,8));  //这个宏需要三个参数,其中prefix为测试用例的前缀;test_case_name为测试用例,它是我们自定义的继承自testing::TestWithParam的类;generator是是testing::internal::ParamGenerator类的示例

    gtest为我们提供了如下generator:

    Range(begin, end[, step])      范围在begin~end之间,步长为step,不包括end
    Values(v1, v2, ..., vN)               v1,v2到vN的值
    ValuesIn(container) and ValuesIn(begin, end)       从一个C类型的数组或是STL容器,或是迭代器中取值
    Bool()                                       取false 和 true 两个值
    Combine(g1, g2, ..., gN)          

                                                    这个比较强悍,它将g1,g2,...gN进行排列组合,g1,g2,...gN本身是一个参数生成器,每次分别从g1,g2,..gN中各取出一个值,组合成一个元组(Tuple)作为一个参数。


                                                  

  • 相关阅读:
    重新学习MySQL数据库开篇:数据库的前世今生
    Java网络编程和NIO详解9:基于NIO的网络编程框架Netty
    测试小鲸鱼
    golang
    技术篇
    请求报文和响应报文
    编程
    测试
    PHP
    centos7.1 从源码升级安装Python3.5.2
  • 原文地址:https://www.cnblogs.com/fancyl/p/14578443.html
Copyright © 2020-2023  润新知