基于Qt_Test的单体测试方法(二)

本文详细介绍了如何使用Qt Test进行数据驱动测试,通过分解测试数据的准备和执行过程,提高了测试代码的可读性和覆盖率。从数据驱动测试简介到具体实现,包括编写被测函数、数据驱动函数和测试函数的步骤,展示了如何处理复杂被测函数的多个分支场景,以实现更加高效和简洁的单元测试。
摘要由CSDN通过智能技术生成

2.1 数据驱动测试简介

在前一章单体测试的例子中,测试的数据只有一条,对于这个简单的被测函数来说也算够用。但是被测函数往往比较复杂,它可能包含多个分支,每个分支有不同的处理。此时应该选取多条测试数据,覆盖到被测函数所有分支。如果按照之前的做法,需要在测试函数中准备多条测试数据,执行多次被测函数并比较结果,这会使得代码臃肿不易阅读。幸好,Qt Test中提供了一种数据驱动的测试方法,能够很好地解决这个问题。

2.2 数据驱动测试方法

这种方法将原来测试函数中的处理拆分成两个部分,准备测试数据和执行被测函数,分别在数据驱动函数和测试函数中来做。数据驱动函数是一个新的函数,它也是以slot形式存在于测试类中。它的命名有个规则:XXX_data(),其中XXX代表测试函数名。这种方法的思路是

  1. 准备测试数据
  2. 取出测试数据作为被测函数的输入和期待结果
  3. 执行被测函数得到实际输出
  4. 将实际输出与期待结果比较

其中第1步在数据驱动函数中进行,2,3,4步在测试函数中进行。下面对它详细介绍。

2.2.1 编写新的被测函数

首先对原来例子做些修改,编写一个复杂些的被测函数。假设Bulk_quote继承自Quote,它新增了两个成员:m_discount折扣,m_minQuantity能够打折所需的最小数量。此外,它还重写了Base类的net_price(int quantity

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值