testcasetest.cpp
来自「这是国外的resip协议栈」· C++ 代码 · 共 162 行
CPP
162 行
#include "CoreSuite.h"#include "FailureException.h"#include "MockTestCase.h"#include "TestCaseTest.h"#include <cppunit/TestResult.h>/* - test have been done to check exception management in run(). other tests need to be added to check the other aspect of TestCase. */CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestCaseTest, coreSuiteName() );TestCaseTest::TestCaseTest(){}TestCaseTest::~TestCaseTest(){}void TestCaseTest::setUp(){ m_testListener = new MockTestListener( "mock-testlistener" ); m_result = new CPPUNIT_NS::TestResult(); m_result->addListener( m_testListener );}void TestCaseTest::tearDown(){ delete m_result; delete m_testListener;}void TestCaseTest::testSetUpFailure(){ checkFailure( true, false, false );}void TestCaseTest::testRunTestFailure(){ checkFailure( false, true, false );}void TestCaseTest::testTearDownFailure(){ checkFailure( false, false, true );}void TestCaseTest::testFailAll(){ checkFailure( true, true, true );}void TestCaseTest::testNoFailure(){ checkFailure( false, false, false );}void TestCaseTest::checkFailure( bool failSetUp, bool failRunTest, bool failTearDown ){ try { MockTestCase testCase( "mock-test" ); if ( failSetUp ) testCase.makeSetUpThrow(); if ( failRunTest ) testCase.makeRunTestThrow(); if ( failTearDown ) testCase.makeTearDownThrow(); testCase.setExpectedSetUpCall( 1 ); testCase.setExpectedRunTestCall( failSetUp ? 0 : 1 ); testCase.setExpectedTearDownCall( failSetUp ? 0 : 1 ); testCase.run( m_result ); testCase.verify(); } catch ( FailureException & ) { CPPUNIT_ASSERT_MESSAGE( "exception should have been caught", false ); }}void TestCaseTest::testCountTestCases(){ CPPUNIT_NS::TestCase test; CPPUNIT_ASSERT_EQUAL( 1, test.countTestCases() );}void TestCaseTest::testDefaultConstructor(){ CPPUNIT_NS::TestCase test; CPPUNIT_ASSERT_EQUAL( std::string(""), test.getName() );}void TestCaseTest::testConstructorWithName(){ std::string testName( "TestName" ); CPPUNIT_NS::TestCase test( testName ); CPPUNIT_ASSERT_EQUAL( testName, test.getName() );}void TestCaseTest::testTwoRun(){ MockTestCase test1( "mocktest1" ); test1.makeRunTestThrow(); m_testListener->setExpectedStartTestCall( 2 ); m_testListener->setExpectedAddFailureCall( 2 ); m_testListener->setExpectedEndTestCall( 2 ); test1.run( m_result ); test1.run( m_result ); m_testListener->verify();}void TestCaseTest::testGetChildTestCount(){ CPPUNIT_NS::TestCase test( "test" ); CPPUNIT_ASSERT_EQUAL( 0, test.getChildTestCount() );}void TestCaseTest::testGetChildTestAtThrow(){ CPPUNIT_NS::TestCase test( "test" ); test.getChildTestAt( 0 );}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?