gtest基础使用10:Google Test自带示例七:通过TestWithParam进行接口测试

本文介绍了如何使用GoogleTest的TestWithParam进行接口测试,包括环境信息、TestWithParam的使用步骤和示例。通过创建测试用例,使用Values()绑定参数,并通过INSTANTIATE_TEST_CASE_P()实例化测试。测试用例覆盖了接口的多种实现,如OnTheFlyPrimeTable和PreCalculatedPrimeTable,确保接口的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、环境信息

  1. Visual Studio 2019
  2. Windows 10
  3. 前导知识:Google Test自带示例六的学习总结

二、Google Test Sample07

1. 示例概述

1.1 示例7讲解了如何通过类testing::TestWithParm测试接口。待测试的接口还是PrimeTable.h(和示例6一样)

class PrimeTable 
{
   
    public:
        virtual bool IsPrime(int n) const = 0; 
        virtual int GetNextPrime(int p) const = 0;
        virtual ~PrimeTable() {
   }
};
class OnTheFlyPrimeTable : public PrimeTable{
   //接口的具体实现};
class PreCalculatedPrimeTable : public PrimeTable{
   //接口的具体实现};

2. TestWithParm介绍

2.1 类testing::TestWithParm的基础使用如下例所示,共分为三步:
(1) 定义test fixture:test fixture 继承自 类testing::TestWithParam,继承时需要注明参数类型,示例中是整形
(2) 使用宏TEST_P编写具体的测试用例:TEST_P(TestFixtureName,TestCaseName)
(3) 使用INSTANTIATE_TEST_CASE_P(TestSuiteName,TestFixtureName,Values)明确待使用的参数

class Instance2 : public testing::TestWithParam<int> {
   };
TEST_P(Instance2, basicTest)
{
   
    int n;
    n = GetParam();
    EXPECT_TRUE(n);
}
INSTANTIATE_TEST_CASE_P(ParamBasicTest, Instance2, testing::Values(1, -1, -2, 2));

在这里插入图片描述
2.2 对于GetParam( )函数,它可以定义在test fixture中

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值