CxxTest- Getting Started

本文详细介绍了如何在C++中进行单元测试,包括在头文件中定义测试用例,使用cxxtestgen生成测试文件,编译并执行testrunner,以及理解testfixture、testsuite和testrunner的概念。通过一个具体的例子,演示了从创建测试用例到运行测试并查看结果的整个过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用步骤

  1. 在C++头文件中定义测试用例
  2. 利用 cxxtestgen 从头文件中为test runner生成测试文件
  3. 编译 test runner
  4. 执行 test runner 来运行所有的测试用例

相关概念

  • test fixture
    表示执行测试所需要的任何准备设置,如:创建临时目录,启动服务器等
  • test suite
    表示可被测试的最小单元的集合,简单理解,就是测试用例. 需要继承于 CxxTest::TestSuite
  • test
    一个test suite中的公共函数,表示一个测试用例,方法需以test开头, 例如:testDirectoryScan, testCoolFeature().
  • test runner
    负责执行test中的一个或者多个测试用例.并且输出相应的报告给用户.

一个简单的例子

Step1
// MyTestSuite1.h
#include <cxxtest/TestSuite.h>

class MyTestSuite1 : public CxxTest::TestSuite
{
public:
    void testAddition(void)
    {
        TS_ASSERT(1 + 1 > 1);
        TS_ASSERT_EQUALS(1 + 1, 2);
    }
};

以上例子中定义了一个test suite包含一个测试用例testAddition().
测试用例中做了两个断言判断.

Step2

使用 cxxtestgen 脚本为上面定义在头文件中test sutie生成一个test runner文件名为: runner.cpp

cxxtestgen --error-printer -o runner.cpp MyTestSuite1.h
Step3

编译这个test runner文件.

g++ -o runner -I$CXXTEST runner.cpp

注意,编译自己的test runner文件时,需要加上所需要的头文件和lib 库.

Step4

执行测试

./runner

测试结果如下:

Running cxxtest tests (1 test).OK!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值