76 lines
No EOL
3.5 KiB
C++
76 lines
No EOL
3.5 KiB
C++
#ifndef CPPUNITUI_MFC_MFCTESTRUNNER_H
|
||
#define CPPUNITUI_MFC_MFCTESTRUNNER_H
|
||
|
||
#if _MSC_VER >= 1000
|
||
#pragma once
|
||
#endif // _MSC_VER >= 1000
|
||
|
||
#include <cppunit/Portability.h>
|
||
#include <cppunit/portability/CppUnitVector.h>
|
||
|
||
/* Refer to MSDN documentation to know how to write and use MFC extension DLL:
|
||
mk:@MSITStore:h:\DevStudio\MSDN\98VSa\1036\vcmfc.chm::/html/_mfcnotes_tn033.htm#_mfcnotes_how_to_write_an_mfc_extension_dll
|
||
|
||
This can be found in the index with "mfc extension"
|
||
The basic:
|
||
Using:
|
||
- your application must use MFC DLL
|
||
- memory allocation is done using the same heap
|
||
- you must define the symbol _AFX_DLL
|
||
|
||
Building:
|
||
- you must define the symbol _AFX_DLL and _AFX_EXT
|
||
- export class using AFX_EXT_CLASS
|
||
*/
|
||
|
||
CPPUNIT_NS_BEGIN
|
||
|
||
class Test;
|
||
class TestSuite;
|
||
|
||
|
||
/*! \brief MFC test runner.
|
||
* \ingroup ExecutingTest
|
||
*
|
||
* Use this to launch the MFC TestRunner. Usually called from you CWinApp subclass:
|
||
*
|
||
* \code
|
||
* #include <cppunit/ui/mfc/MfcTestRunner.h>
|
||
* #include <cppunit/extensions/TestFactoryRegistry.h>
|
||
*
|
||
* void
|
||
* CHostAppApp::RunUnitTests()
|
||
* {
|
||
* CppUnit::MfcTestRunner runner;
|
||
* runner.addTest( CppUnit::TestFactoryRegistry::getRegistry().makeTest() );
|
||
*
|
||
* runner.run();
|
||
* }
|
||
* \endcode
|
||
* \see CppUnit::TextTestRunner, CppUnit::TestFactoryRegistry.
|
||
*/
|
||
class AFX_EXT_CLASS MfcTestRunner
|
||
{
|
||
public:
|
||
MfcTestRunner();
|
||
virtual ~MfcTestRunner();
|
||
|
||
void run();
|
||
|
||
void addTest( Test *test );
|
||
|
||
void addTests( const CppUnitVector<Test *> &tests );
|
||
|
||
protected:
|
||
Test *getRootTest();
|
||
|
||
TestSuite *m_suite;
|
||
|
||
typedef CppUnitVector<Test *> Tests;
|
||
Tests m_tests;
|
||
};
|
||
|
||
|
||
CPPUNIT_NS_END
|
||
|
||
#endif // CPPUNITUI_MFC_MFCTESTRUNNER_H
|