C++ 测试库 Catch2 入门教程

Catch 使用教程(入门,官方文档翻译)原文地址:https://github.com/catchorg/Catch2/blob/master/docs/tutorial.md译者注:当前文档并不是官方文档的直译。在翻译的过程中我删除部分原文中的内容并添加了一些自己的理解,可能有偏差,请见谅获得 Catch如何使用?编写测试用例测试用例和测试区段BDD-Style小结...
摘要由CSDN通过智能技术生成

Catch 使用教程(入门,官方文档翻译)

原文地址:https://github.com/catchorg/Catch2/blob/master/docs/tutorial.md
译者注:当前文档并不是官方文档的直译。在翻译的过程中我删除部分原文中的内容并添加了一些自己的理解,可能有偏差,请见谅

  1. 获得 Catch
  2. 如何使用?
  3. 编写测试用例
  4. 测试用例和测试区段
  5. BDD-Style
  6. 小结
  7. 参数类型化测试
  8. 后续学习与使用

获得 Catch

获得Catch最简单的方式是下载最新的 single header version。这个头文件由若干其他独立的头文件合并而成。

你也可以使用其他方法获得Catch,例如使用CMake来构建编译版Catch,这可以提高项目的编译速度。

完整的Catch包含测试、说明文档等内容,你可以从GitHub下载完整的Catch。Catch官方链接为:http://catch-lib.net ,此链接将重定向到GitHub。

如何使用 Catch?

Catch是header-only的,故你只需要将Catch的头文件放到编译器可以发现的路径既可。

下面的教程默认你的编译器可以发现并使用 Catch。

如果你使用Catch的预编译形式,即已经编译并生成了Catch链接库(.lib 或者 .a 文件),你的Catch头文件包含形式应该形如:#include <catch2/catch.hpp>

编写测试用例

让我们从一个简单的示例开始(examples/010-TestCase.cpp)。假设你已经写了一个用于计算阶乘的函数,现在准备测试它。(TDD的基本原则是先写测试代码,为了方便学习,这里先忽略这个原则)

unsigned int Factorial( unsigned int number ) {
    return number <= 1 ? number : Factorial(number-1)*number;
}

为了尽量简单,我们把所有的代码都放到一个源文件中。

#define CATCH_CONFIG_MAIN  // 当前宏强制Catch在当前编译单元中创建 main(),这个宏只能出现在一个CPP文件中,因为一个项目只能有一个有效的main函数
#include "catch.hpp"

unsigned int Factorial( unsigned int number ) {
    return number <= 1 ? number : 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值