最陽(yáng)春的CPPUNIT單元測(cè)試所要操作的部分有4個(gè)(也許說3個(gè)更確切?因?yàn)閠estrunner有且只有一個(gè))
CppUnit::MfcUi::TestRunner GUI介面的testrunner
CppUnit::TextUi::TestRunner 字符串介面的testrunner
CppUnit::TestFactoryRegistry::getRegistry() 測(cè)試節(jié)點(diǎn)的工廠,所有用宏加入的節(jié)點(diǎn)都是加在這個(gè)工廠里的啦...
CppUnit::TestFixture 測(cè)試用例,也是一個(gè)節(jié)點(diǎn)
//TestFixture基本用法
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
//把該測(cè)試用例加入到CPPUNIT 根測(cè)試?yán)锶?br>CPPUNIT_TEST_SUITE_REGISTRATION
CPPUNIT_TEST_SUITE_REGISTRATION( TestResultCollectorTest );
CPPUNIT_NS::TestFixture //從它繼承
virtual void TestFixture::setUp();
virtual void TestFixture::tearDown();
CPPUNIT_TEST_SUITE //定義一個(gè)suite
CPPUNIT_TEST //定義一個(gè)測(cè)試用例
CPPUNIT_TEST_EXCEPTION //有異常的測(cè)試用例
CPPUNIT_TEST_SUITE_END
//MFC GUI啟動(dòng)單元測(cè)試
#include <cppunit/ui/mfc/TestRunner.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
CPPUNIT_NS::MfcUi::TestRunner runner;
runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() );
runner.run();
//控制臺(tái)啟動(dòng)單元測(cè)試
#include <cppunit/CompilerOutputter.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/ui/text/TestRunner.h>
CppUnit::TextUi::TestRunner runner;
CppUnit::TestFactoryRegistry ®istry = CppUnit::TestFactoryRegistry::getRegistry();
runner.addTest( registry.makeTest() );
runner.run( "", false );
//測(cè)試用例與節(jié)點(diǎn)之間的連接
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestResultCollectorTest, coreSuiteName() );
//節(jié)點(diǎn)與根結(jié)點(diǎn)之間的連接
CPPUNIT_REGISTRY_ADD_TO_DEFAULT(coreSuiteName());
//節(jié)點(diǎn)與節(jié)點(diǎn)之間的連接.
CPPUNIT_REGISTRY_ADD
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( coreSuiteName(), "father" );


