C/C++ 单元测试 catch

本文介绍了Catch单元测试框架的基本使用方法,包括如何下载和放置Catch文件、如何定义测试用例以及如何使用REQUIRE宏来进行断言。同时,还详细解释了SECTION的作用及其实现机制。

1.catch 单个文件资源下载:(测试证明 2017年的单个文件就可以了,2010年需要一个包的文件,歌颂技术进步)

https://raw.githubusercontent.com/philsquared/Catch/master/single_include/catch.hpp

2.catch文件的位置

   (1) 直接和测试的c++文件放在一个文件夹下

      

 

  

 

(2)include  加搜索的路径

include<> : 先去系统目录中找头文件,如果没有在到当前目录下找。

include"": ""首先在当前目录下寻找,如果找不到,再到系统目录中寻找

3.catch 的使用

  •  1.  #define一个标识符和 #include一个头文件。多个文件中加入单元测试,你只需要加入 #include "catch.hpp" 。只在一个实现文件中加入 #define CATCH_CONFIG_MAIN 和#include "catch.hpp"是最好的了。
  •  2.TEST_CASE:宏引入测试用例。这个宏需要一个或两个参数,允许测试名自定义以及可选的一个或多个标签(测试用例的名字需要是唯一的,你可以通过指定一个通配符或标签表达式进行测试设置。参数的名字和标签只是string类型。我们不一定要声明函数或方法或者显示地注册测试用例。后台会自动生成函数名并使用静态注册类进行注册。通过抽象函数名我们可以任意命名我们的测试         
  • 3. 使用 REQUIRE宏进行测试断言的编写。
  • 4.每个SECTION 都会从头开始执行TEST_CASE,当我们进入到每个section时,我们已经知道v的大小是5且容量大于等于5。为了确保达到这些这些要求,我们使用REQUIRE 强制进行限制。他们的工作机制是:SECTION中包含if语句,并将结果返回到Catch中以确定哪个section将会执行。TEST_CASE每运行一次会执行一个section,其他section直接跳过。下一次则执行下一个section,如此反复直到没有新的section。

 

转载于:https://www.cnblogs.com/sxy-798013203/p/7634728.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值