C++ 单元测试工具 Catch
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 );
}
更多推荐
所有评论(0)