Notice
Recent Posts
Recent Comments
Dharma
[CppUnit] Testing 정보 출력하기 본문
지금까지 CookBook 의 예제를 따라서 하시다 보면 드는 의문이 있을 것입니다. 원칙대로 따라서 소스코드를 친 다음에 나온 결과물을 실행하면
라고 덜렁 나오는 것을 볼 수가 있을것입니다. NUnit 을 써보신 분들은 그 화려한 GUI 나 , TextMode 일때에도 나오는 그 많은 정보들이 하나도 나오지 않습니다. 심지어는 내가 무엇을 테스트 하는지에 대한 정보조차 없습니다. CppUnit 상당히 실망스러울 수밖에 없었습니다. 하지만 없을리가 없지 않습니까 ㅎㅎ , 그래서 조금 조사해보니 답이 나오더군요.
cppTest.cpp 만 바꿔 주면 됩니다.
쉽지요? 기존의 코드랑 다른점은 또 있습니다. CppUnit 대신 CPPUNIT_NS 가 쓰이지요? 그게 강조사항이더군요. 그래서 적용해줬습니다. 이렇게 바꾸고 실행해보세요 결과는 직접 확인하시고요.
참 추가해야 할 헤더 파일 들 입니다.
추가 해야지만 컴파일 됩니다.
.
OK
OK
라고 덜렁 나오는 것을 볼 수가 있을것입니다. NUnit 을 써보신 분들은 그 화려한 GUI 나 , TextMode 일때에도 나오는 그 많은 정보들이 하나도 나오지 않습니다. 심지어는 내가 무엇을 테스트 하는지에 대한 정보조차 없습니다. CppUnit 상당히 실망스러울 수밖에 없었습니다. 하지만 없을리가 없지 않습니까 ㅎㅎ , 그래서 조금 조사해보니 답이 나오더군요.
cppTest.cpp 만 바꿔 주면 됩니다.
int main(int argc , char **argv)
{
// 결과값을 저장하기 위한 매니저와 콘트롤러 성격을 선언해줍니다.
CPPUNIT_NS::TestResult controller;
// 결과값을 저장하기 위한 컬렉터를 추가해줍니다.
CPPUNIT_NS::TestResultCollector result;
controller.addListener( &result );
// 테스트가 진행되는 동안 "." 을 표시해서 진행시간 추정하게 해주는
// 프로그래스 부분을 추가합니다.
CPPUNIT_NS::BriefTestProgressListener progress;
controller.addListener( &progress );
// 기존과 동일하게 테스트 러너를 돌려줍니다.
CPPUNIT_NS::TextUi::TestRunner runner;
runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() );
runner.run( controller );
return result.wasSuccessful() ? 0 : 1 ;
}
{
// 결과값을 저장하기 위한 매니저와 콘트롤러 성격을 선언해줍니다.
CPPUNIT_NS::TestResult controller;
// 결과값을 저장하기 위한 컬렉터를 추가해줍니다.
CPPUNIT_NS::TestResultCollector result;
controller.addListener( &result );
// 테스트가 진행되는 동안 "." 을 표시해서 진행시간 추정하게 해주는
// 프로그래스 부분을 추가합니다.
CPPUNIT_NS::BriefTestProgressListener progress;
controller.addListener( &progress );
// 기존과 동일하게 테스트 러너를 돌려줍니다.
CPPUNIT_NS::TextUi::TestRunner runner;
runner.addTest( CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest() );
runner.run( controller );
return result.wasSuccessful() ? 0 : 1 ;
}
쉽지요? 기존의 코드랑 다른점은 또 있습니다. CppUnit 대신 CPPUNIT_NS 가 쓰이지요? 그게 강조사항이더군요. 그래서 적용해줬습니다. 이렇게 바꾸고 실행해보세요 결과는 직접 확인하시고요.
참 추가해야 할 헤더 파일 들 입니다.
#include <cppunit/TestResultCollector.h>
#include <cppunit/BriefTestProgressListener.h>
#include <cppunit/BriefTestProgressListener.h>
추가 해야지만 컴파일 됩니다.