Cppunit基础(2) --基于VC



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版本,碰到过因版本不同而程序执行报错的问题;

 

你可能感兴趣的:(Cppunit基础(2) --基于VC)