📄 textoutputter.cpp
字号:
#include <cppunit/Exception.h>#include <cppunit/SourceLine.h>#include <cppunit/TestFailure.h>#include <cppunit/TextOutputter.h>#include <cppunit/TestResultCollector.h>CPPUNIT_NS_BEGINTextOutputter::TextOutputter( TestResultCollector *result, OStream &stream ) : m_result( result ) , m_stream( stream ){}TextOutputter::~TextOutputter(){}void TextOutputter::write() { printHeader(); m_stream << "\n"; printFailures(); m_stream << "\n";}void TextOutputter::printFailures(){ TestResultCollector::TestFailures::const_iterator itFailure = m_result->failures().begin(); int failureNumber = 1; while ( itFailure != m_result->failures().end() ) { m_stream << "\n"; printFailure( *itFailure++, failureNumber++ ); }}void TextOutputter::printFailure( TestFailure *failure, int failureNumber ){ printFailureListMark( failureNumber ); m_stream << ' '; printFailureTestName( failure ); m_stream << ' '; printFailureType( failure ); m_stream << ' '; printFailureLocation( failure->sourceLine() ); m_stream << "\n"; printFailureDetail( failure->thrownException() ); m_stream << "\n";}void TextOutputter::printFailureListMark( int failureNumber ){ m_stream << failureNumber << ")";}void TextOutputter::printFailureTestName( TestFailure *failure ){ m_stream << "test: " << failure->failedTestName();}void TextOutputter::printFailureType( TestFailure *failure ){ m_stream << "(" << (failure->isError() ? "E" : "F") << ")";}void TextOutputter::printFailureLocation( SourceLine sourceLine ){ if ( !sourceLine.isValid() ) return; m_stream << "line: " << sourceLine.lineNumber() << ' ' << sourceLine.fileName();}void TextOutputter::printFailureDetail( Exception *thrownException ){ m_stream << thrownException->message().shortDescription() << "\n"; m_stream << thrownException->message().details();}void TextOutputter::printHeader(){ if ( m_result->wasSuccessful() ) m_stream << "\nOK (" << m_result->runTests () << " tests)\n" ; else { m_stream << "\n"; printFailureWarning(); printStatistics(); }}void TextOutputter::printFailureWarning(){ m_stream << "!!!FAILURES!!!\n";}void TextOutputter::printStatistics(){ m_stream << "Test Results:\n"; m_stream << "Run: " << m_result->runTests() << " Failures: " << m_result->testFailures() << " Errors: " << m_result->testErrors() << "\n";}CPPUNIT_NS_END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -