📄 testresult.cpp
字号:
#include <cppunit/TestFailure.h>#include <cppunit/TestListener.h>#include <cppunit/TestResult.h>#include <algorithm>namespace CppUnit {/// Construct a TestResultTestResult::TestResult( SynchronizationObject *syncObject ) : SynchronizedObject( syncObject ){ reset();}/// Destroys a test resultTestResult::~TestResult(){}/** Resets the result for a new run. * * Clear the previous run result. */void TestResult::reset(){ ExclusiveZone zone( m_syncObject ); m_stop = false;}/** Adds an error to the list of errors. * The passed in exception * caused the error */void TestResult::addError( Test *test, Exception *e ){ addFailure( TestFailure( test, e, true ) );}/** Adds a failure to the list of failures. The passed in exception * caused the failure. */void TestResult::addFailure( Test *test, Exception *e ){ addFailure( TestFailure( test, e, false ) );}/** Called to add a failure to the list of failures. */void TestResult::addFailure( const TestFailure &failure ){ ExclusiveZone zone( m_syncObject ); for ( TestListeners::iterator it = m_listeners.begin(); it != m_listeners.end(); ++it ) (*it)->addFailure( failure );}/// Informs the result that a test will be started.void TestResult::startTest( Test *test ){ ExclusiveZone zone( m_syncObject ); for ( TestListeners::iterator it = m_listeners.begin(); it != m_listeners.end(); ++it ) (*it)->startTest( test );} /// Informs the result that a test was completed.void TestResult::endTest( Test *test ){ ExclusiveZone zone( m_syncObject ); for ( TestListeners::iterator it = m_listeners.begin(); it != m_listeners.end(); ++it ) (*it)->endTest( test );}/// Returns whether testing should be stoppedbool TestResult::shouldStop() const{ ExclusiveZone zone( m_syncObject ); return m_stop; }/// Stop testingvoid TestResult::stop(){ ExclusiveZone zone( m_syncObject ); m_stop = true; }void TestResult::addListener( TestListener *listener ){ ExclusiveZone zone( m_syncObject ); m_listeners.push_back( listener );}void TestResult::removeListener ( TestListener *listener ){ ExclusiveZone zone( m_syncObject ); m_listeners.erase( std::remove( m_listeners.begin(), m_listeners.end(), listener ), m_listeners.end());}} // namespace CppUnit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -