Catch 是一个很时尚的,C++原生的框架,只包含一个头文件,用于单元测试,TDD测试驱动开发和BDD行为驱动开发。
github地址:https://github.com/philsquared/Catch
git clone https://github.com/philsquared/Catch.git

实验使用环境:
win10企业版,vs2015update3,TortoiseGit2.3.0.0,cmake3.7.2
可以在github地址:https://github.com/philsquared/Catch
直接下载catch.hpp文件,引入到自己的c++工程中使用。

注意上面的具体链接会随时更新,请直接到github的catch下载。

从源码获得catch.hpp文件:

01 下载源码

git clone https://github.com/philsquared/Catch.git

02 用cmake 生成 vs2015工程

默认vs2015 x86版本生成的catch.hpp文件会被安装到

03编译catch,并且生成catch.hpp文件

以管理员权限启动vs2015,打开D:\git\test\Catch\build\x86\CatchSelfTest.sln。并且编译。

不用管理员权限启动vs2015,生成catch.hpp安装到C:\Program Files (x86)\CatchSelfTest\include\catch\catch.hpp会因为权限不足报错。

编译完成后,运行INSTALL工程,生成catch.hpp文件。把这个catch.hpp文件,引入到自己的工程即可。catch测试框架,仅仅这一个catch.hpp文件即可。

默认生成目录:
Installing: C:/Program Files (x86)/CatchSelfTest/include/catch/catch.hpp

##04 研究catch用法
把SelfTest工程设置为默认启动项,打开SelfTest工程下Tests目录的某个xxxxTests.cpp文件设置断点,或者从TestMain.cpp入手,即可研究catch.hpp的具体使用方法。Tests下面的这些cpp就是具体使用catch.hpp的测试用例。模仿即可。

##05 官网用例介绍
https://github.com/philsquared/Catch/blob/master/docs/tutorial.md

#define CATCH_CONFIG_MAIN  // This tells Catch to provide a main() - only do this in one cpp file
#include "catch.hpp"unsigned int Factorial( unsigned int number ) {return number <= 1 ? number : Factorial(number-1)*number;
}TEST_CASE( "Factorials are computed", "[factorial]" ) {REQUIRE( Factorial(1) == 1 );REQUIRE( Factorial(2) == 2 );REQUIRE( Factorial(3) == 6 );REQUIRE( Factorial(10) == 3628800 );
}

C++ 单元测试工具 Catch相关推荐

  1. 在.NET开发中的单元测试工具之(1)——NUnit

    NUnit介绍 NUnit是一个专门针对于.NET来写的单元测试框架,它是xUnit体系中的一员,在xUnit体系中还有针对Java的JUnit和针对C++的CPPUnit,在开始的时候NUnit和x ...

  2. Openstack_单元测试工具 tox

    目录 目录 扩展阅读 Openstack 的单元测试工具 单元测试工具使用流程 tox toxini 参考文章 扩展阅读 Python Mock的入门 Openstack 的单元测试工具 unitte ...

  3. python 单元测试 工具_Django单元测试工具test client使用详解

    The test client test client是一个python类,来模拟一个简单的"哑"浏览器,允许你来测试你的view函数.你可以使用test client完成下列事情 ...

  4. SAP UI5 初学者教程之二十七 - SAP UI5 应用的单元测试工具 QUnit 介绍试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  5. SAP UI5 应用开发教程之二十七 - SAP UI5 应用的单元测试工具 QUnit 介绍

    Jerry 在之前做 SAP UI5 标准开发和现在使用 Angular 开发 SAP Spartacus 应用时,我们团队的开发规范就是,每增添一个新的前端 feature,必须要用一个新增的单元测 ...

  6. 常见单元测试工具介绍

    1.       C/C++语言开发的首选利器- C++Test 以前在windows平台下的开发,使用的框架主要是MFC,以及console工程(基于win32SDK),属于纯C/C++开发的范畴. ...

  7. 说实话,写了这么多程序了,还从来没有用JUnit作为单元测试工具测试过,今天就来学习一下

    1.    说实话,写了这么多程序了,还从来没有用JUnit作为单元测试工具测试过,心理面感到真的是惭愧.原来的所有测试,我都是通过在控制台打印输出语句看结果,这样就可以根据自己打印的信息自己去判断, ...

  8. 1019.单元测试工具CUnit

    单元测试工具 1 CUnit 单元测试工具的安装 2 关于cunit编译成第3库添加到eclipse中使用 3 cunit示例demo 4 展示效果 5 CUnit 的交叉编译 6 参考博客 1 CU ...

  9. 使用单元测试工具TestDriven.NET调试程序

    文本Tag: TestDirector 单元测试 测试工具 .NET [IT168 技术文档] 引言 在实际的项目中,我们会遇到如下的问题: 1. 在编写一些不太好调试的程序时,如WebService ...

最新文章

  1. Vue.js入门第一课
  2. python opencv投影变换增强
  3. foreach 语句
  4. Android Architecture Components 整理
  5. 导出mysql sql语句吗_mysql sql语句导入与导出
  6. ES6_入门(1)_let命令
  7. linux离线安装pyhs2,Python 下载及安装详细步骤
  8. python enumeration_python模块之enum_上
  9. [css] 请使用CSS画一个带锯齿形边框圆圈
  10. iOS-贝塞尔曲线之自定义饼图
  11. oracle修改用户密码命令_oracle 11g dba用户秘密修改其他用户密码
  12. 构建第一个fabric网络
  13. leetcode 1154 一年中的第几天
  14. 第 6 章 存储 - 039 - Data Volume 之 bind mount
  15. 刷题——移动盒子及其相关题目
  16. 用123 组成的6位数 的java代码,输入一个三位的整数,计算其每位数字的累加之和。例如:输入整数123后,其每位数字累加之和为6(1+2+3),感激不尽...
  17. 程序员快收藏:国内一二线城市的互联网公司汇总
  18. 【ICML 2020联邦学习论文解读】SCAFFOLD: Stochastic Controlled Averaging for Federated Learning
  19. android11更新了什么,一加8安卓11更新了什么 一加8安卓11更新内容
  20. html 中渐变方向,CSS3渐变,就是这么玩

热门文章

  1. linux游戏是rpm文件格式,你玩游戏吗?软件包的管理(一)——RPM
  2. 计算机术语native版本,HiNative电脑版
  3. 2021-07-14在vue中引入emoji表情
  4. 【极海APM32替代笔记】低功耗模式配置及配置汇总
  5. SwitchResX 自定义分辨率无效 Not install 的解决方案
  6. 【投资理财】啥是期权?
  7. WebRTC 传输安全机制:DTLS 和 SRTP
  8. 如何将string的日期转换为date的通用方法,包含正则表达处理(一)
  9. 【攻略】前端突击队 - 腾讯CodeStar代码星计划第二季
  10. html5与交互融媒体内容设计,“HTML5交互融媒体内容设计与制作”赛项