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。
所有评论(0)