⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testcase.cpp

📁 这是国外的resip协议栈
💻 CPP
字号:
#include <cppunit/Portability.h>#include <cppunit/Exception.h>#include <cppunit/Protector.h>#include <cppunit/TestCase.h>#include <cppunit/TestResult.h>#include <stdexcept>#if CPPUNIT_USE_TYPEINFO_NAME#  include <typeinfo>#endifCPPUNIT_NS_BEGIN/*! \brief Functor to call test case method (Implementation). * * Implementation detail. */class TestCaseMethodFunctor : public Functor{public:  typedef void (TestCase::*Method)();  TestCaseMethodFunctor( TestCase *target,                         Method method )     : m_target( target )     , m_method( method )  {  }  bool operator()() const  {    (m_target->*m_method)();    return true;  }private:  TestCase *m_target;  Method m_method;};/** Constructs a test case. *  \param name the name of the TestCase. **/TestCase::TestCase( const std::string &name )    : m_name(name){}/// Run the test and catch any exceptions that are triggered by it void TestCase::run( TestResult *result ){  result->startTest(this);/*  try {    setUp();    try {      runTest();    }    catch ( Exception &e ) {      Exception *copy = e.clone();      result->addFailure( this, copy );    }    catch ( std::exception &e ) {      result->addError( this, new Exception( Message( "uncaught std::exception",                                                       e.what() ) ) );    }    catch (...) {      Exception *e = new Exception( Message( "uncaught unknown exception" ) );      result->addError( this, e );    }    try {      tearDown();    }    catch (...) {      result->addError( this, new Exception( Message( "tearDown() failed" ) ) );    }  }  catch (...) {    result->addError( this, new Exception( Message( "setUp() failed" ) ) );  }*/  if ( result->protect( TestCaseMethodFunctor( this, &TestCase::setUp ),                        this,                       "setUp() failed" ) )  {    result->protect( TestCaseMethodFunctor( this, &TestCase::runTest ),                     this );  }  result->protect( TestCaseMethodFunctor( this, &TestCase::tearDown ),                   this,                   "tearDown() failed" );  result->endTest( this );}/// All the work for runTest is deferred to subclasses void TestCase::runTest(){}/** Constructs a test case for a suite. * \deprecated This constructor was used by fixture when TestFixture did not exist. *             Have your fixture inherits TestFixture instead of TestCase. * \internal *  This TestCase was intended for use by the TestCaller and should not *  be used by a test case for which run() is called. **/TestCase::TestCase()    : m_name( "" ){}/// Destructs a test caseTestCase::~TestCase(){}/// Returns the name of the test casestd::string TestCase::getName() const{   return m_name; }  CPPUNIT_NS_END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -