Cppunit基础(2) --基于VC

本文介绍CppUnit单元测试框架的基本概念,包括TestCase和TestSuit的定义,并详细讲解了使用CppUnit进行测试的基本步骤,从创建测试类到执行测试。

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



TestCase,单个测试用例,自定义测试类的父类;

TestSuit,一组测试用例,由TestCase组成;

 

编写的基本步骤:

1,新建工程,设置RTTI及多线程lib,添加需要的lib,如cppunitd.lib TestRunnerd.lib

 

2,从CppUnit::TestCase派生测试类CPlusTestCase;<cppunit/TestCase.h> <CppUnit/extensions/HelperMacros.h> <cppunit/extensions/TestFactoryRegistry.h>

 

3,在CPlusTestCase声明中注册TestSuit,表示将函数testAdd加到CPlusTestCase这个TestSuit中:

classCPlusTestCase : public CppUnit::TestCase

{

CPPUNIT_TEST_SUITE(CPlusTestCase);

CPPUNIT_TEST(testAdd);

//testAdd是一个自定义的测试函数

CPPUNIT_TEST_SUITE_END();

public:

CPlusTestCase(void);

//构造在runner.addTest中被调用,而非run()或执行测试时

~CPlusTestCase(void);

void testAdd(void);

};

 

4,在CPlusTestCase实现文件中注册TestSuit,表示将TestSuit CPlusTestCase注册到abc这个组中;

CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(CPlusTestCase,"abc");

 

5,在程序启动时使用TestRunner添加测试及执行,<cppunit/ui/mfc/TestRunner.h>,如(需要<cppunit/extensions/TestFactoryRegistry.h>);

CppUnit::MfcUi::TestRunnerrunner;

runner.addTest(CppUnit::TestFactoryRegistry::getRegistry("abc").makeTest());

//添加测试

runner.run();//showUI

 

注意:

1,cppunit相应头文件的#include 需放到 #define new DEBUG_NEW的前面;

2,使用相应lib的debug或release版本,碰到过因版本不同而程序执行报错的问题;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值