📄 testresultcollectortest.cpp
字号:
#include "CoreSuite.h"#include "TestResultCollectorTest.h"CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( TestResultCollectorTest, coreSuiteName() );TestResultCollectorTest::TestResultCollectorTest(){}TestResultCollectorTest::~TestResultCollectorTest(){}void TestResultCollectorTest::setUp(){ m_lockCount = 0; m_unlockCount = 0; m_result = new CPPUNIT_NS::TestResultCollector(); m_synchronizedResult = new SynchronizedTestResult( this ); m_test = new CPPUNIT_NS::TestCase(); m_test2 = new CPPUNIT_NS::TestCase();}void TestResultCollectorTest::tearDown(){ delete m_test2; delete m_test; delete m_synchronizedResult; delete m_result;}void TestResultCollectorTest::testConstructor(){ checkResult( 0, 0, 0 );}void TestResultCollectorTest::testAddTwoErrors(){ CPPUNIT_NS::Message errorMessage1( "First Error" ); CPPUNIT_NS::Message errorMessage2( "Second Error" ); { CPPUNIT_NS::TestFailure failure1( m_test, new CPPUNIT_NS::Exception( errorMessage1 ), true ); m_result->addFailure( failure1 ); CPPUNIT_NS::TestFailure failure2( m_test2, new CPPUNIT_NS::Exception( errorMessage2 ), true ); m_result->addFailure( failure2 ); } // ensure that the test result duplicate the failures. checkResult( 0, 2, 0 ); checkFailure( m_result->failures()[0], errorMessage1, m_test, true ); checkFailure( m_result->failures()[1], errorMessage2, m_test2, true );}void TestResultCollectorTest::testAddTwoFailures(){ CPPUNIT_NS::Message errorMessage1( "First Failure" ); CPPUNIT_NS::Message errorMessage2( "Second Failure" ); { CPPUNIT_NS::TestFailure failure1( m_test, new CPPUNIT_NS::Exception( errorMessage1 ), false ); m_result->addFailure( failure1 ); CPPUNIT_NS::TestFailure failure2( m_test2, new CPPUNIT_NS::Exception( errorMessage2 ), false ); m_result->addFailure( failure2 ); } // ensure that the test result duplicate the failures. checkResult( 2, 0, 0 ); checkFailure( m_result->failures()[0], errorMessage1, m_test, false ); checkFailure( m_result->failures()[1], errorMessage2, m_test2, false );}void TestResultCollectorTest::testStartTest(){ m_result->startTest( m_test ); m_result->startTest( m_test ); checkResult( 0, 0, 2 );}void TestResultCollectorTest::testWasSuccessfulWithNoTest(){ checkWasSuccessful( true );}void TestResultCollectorTest::testWasSuccessfulWithErrors(){ addError( "Error1" ); addError( "Error2" ); checkWasSuccessful( false );}void TestResultCollectorTest::testWasSuccessfulWithFailures(){ addFailure( "Failure1" ); addFailure( "Failure2" ); checkWasSuccessful( false );}void TestResultCollectorTest::testWasSuccessfulWithErrorsAndFailures(){ addError( "Error1" ); addFailure( "Failure2" ); checkWasSuccessful( false );}void TestResultCollectorTest::testWasSuccessfulWithSuccessfulTest(){ m_result->startTest( m_test ); m_result->endTest( m_test ); m_result->startTest( m_test2 ); m_result->endTest( m_test2 ); checkWasSuccessful( true );}void TestResultCollectorTest::testSynchronizationAddFailure(){ addFailure( "Failure1", m_test, false, m_synchronizedResult ); checkSynchronization();}void TestResultCollectorTest::testSynchronizationStartTest(){ m_synchronizedResult->startTest( m_test ); checkSynchronization();}void TestResultCollectorTest::testSynchronizationRunTests(){ m_synchronizedResult->runTests(); checkSynchronization();}void TestResultCollectorTest::testSynchronizationTestErrors(){ m_synchronizedResult->testErrors(); checkSynchronization();}void TestResultCollectorTest::testSynchronizationTestFailures(){ m_synchronizedResult->testFailures(); checkSynchronization();}void TestResultCollectorTest::testSynchronizationFailures(){ m_synchronizedResult->failures(); checkSynchronization();}void TestResultCollectorTest::testSynchronizationWasSuccessful(){ m_synchronizedResult->wasSuccessful(); checkSynchronization();}void TestResultCollectorTest::checkResult( int failures, int errors, int testsRun ){ CPPUNIT_ASSERT_EQUAL( testsRun, m_result->runTests() ); CPPUNIT_ASSERT_EQUAL( errors, m_result->testErrors() ); CPPUNIT_ASSERT_EQUAL( failures, m_result->testFailures() ); CPPUNIT_ASSERT_EQUAL( errors + failures, m_result->testFailuresTotal() );}voidTestResultCollectorTest::checkFailure( CPPUNIT_NS::TestFailure *failure, CPPUNIT_NS::Message expectedMessage, CPPUNIT_NS::Test *expectedTest, bool expectedIsError ){ CPPUNIT_NS::Message actualMessage( failure->thrownException()->message() ); CPPUNIT_ASSERT( expectedMessage == actualMessage ); CPPUNIT_ASSERT_EQUAL( expectedTest, failure->failedTest() ); CPPUNIT_ASSERT_EQUAL( expectedIsError, failure->isError() );}void TestResultCollectorTest::checkWasSuccessful( bool shouldBeSuccessful ){ CPPUNIT_ASSERT_EQUAL( shouldBeSuccessful, m_result->wasSuccessful() );}void TestResultCollectorTest::locked(){ CPPUNIT_ASSERT_EQUAL( m_lockCount, m_unlockCount ); ++m_lockCount;}void TestResultCollectorTest::unlocked(){ ++m_unlockCount; CPPUNIT_ASSERT_EQUAL( m_lockCount, m_unlockCount );}void TestResultCollectorTest::checkSynchronization(){ CPPUNIT_ASSERT_EQUAL( m_lockCount, m_unlockCount ); CPPUNIT_ASSERT( m_lockCount > 0 );}void TestResultCollectorTest::addFailure( std::string message ){ addFailure( message, m_test, false, m_result );}void TestResultCollectorTest::addError( std::string message ){ addFailure( message, m_test, true, m_result );}void TestResultCollectorTest::addFailure( std::string message, CPPUNIT_NS::Test *failedTest, bool isError, CPPUNIT_NS::TestResultCollector *result ){ CPPUNIT_NS::TestFailure failure( failedTest, new CPPUNIT_NS::Exception( CPPUNIT_NS::Message( message ) ), isError ); result->addFailure( failure );}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -