CppUnit 과 CruiseControl.NET 과의 결합

int _tmain(int argc, _TCHAR* argv[])
{
  CPPUNIT_NS::TestResult controller ;

  CPPUNIT_NS::TestResultCollector result ;
  controller.addListener (&result);

  CPPUNIT_NS::TestRunner runner ;
  runner.addTest(
CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest());

  runner.run(controller);

  std::ofstream file("Results.xml");
  CPPUNIT_NS::XmlOutputter xml(&result , file);
  xml.setStyleSheet("report.xsl");
  xml.write();
  file.close();

  return result.wasSuccessful() ? 0: 1;

}

 

기존 소스와 다른점은 아래쪽에 추가된 부분이라고 할 수 있겠습니다.
Results.xml 을 지정해서 그 파일을 XmlOutPutter 의 결과로 지정해주는 부분입니다.
이렇게 되면 테스트의 상세 결과가 Results.xml 로 저장이 됩니다. stylesheet 를 지정해주는 부분은 옵션입니다. 만약 스타일 쉬트를 지정하게 되면 output 폴더에 꼭 reports.xsl 을 가지고 다녀야 합니다.

자 이제 Test 프로젝트를 준비가 됐으니 다음은 ccnet.config 를 손볼
차례입니다. 이 파일은 보통 %CRUISECONTROL.NET%\server 에 있습니다.
기존의 …

CruiseControl.NET 에서 exec 블록 추가

기존의 CruiseControl.NET 에서 TestProject 를 실행해야 하는 경우가 있습니다. 그때는 <task> 블록에서 <exec> 블록을 이용해서 TestProject 의 결과물을 호출합니다.

ccnet.config 에서 <task> 블록에서 <exec> 블록을 추가해줍니다.

  <exec>
      <executable>D:\User\Crazia\Work\win2007d\build\Test2007d.exe</executable>
      <baseDirectory>D:\User\Crazia\Work\win2007d\build</baseDirectory>
      <buildTimeoutSeconds>10</buildTimeoutSeconds>
  </exec>

<executable> 에 실행 파일을 적어주고 <task> 블록안에 넣어주시면 됩니다. 저는 <devenv> 블록 다음에 바로 넣어줬습니다.

출처 : http://crazia.tistory.com/entry/CppUnit-CI-서버와-통합

Cruise Control.Net 설치

CruiseControl 홈페이지 : http://cruisecontrol.sourceforge.net/
CruiseControl.Net 홈페이지 : http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET

가정

  1. 소스버전관리시스템으로는 Subversion을 사용한다.

개요
CruiseControl.Net은 CI(Continuous Integration)를 위한 빌드 자동화를 구축하기 위해서 필요한 자동 빌드 툴이다

CI 시스템 구축

  1. .NET Framework SDK를 설치한다.
    Windows Installer를 실행시키기만 하면 된다.
  2. NUnit
    Windows Installer를 실행시키기만 하면 된다.
  3. NAnt
    1. 원하는 경로에 압축파일을 푼다. 여기서는 “C:\Program Files\ant-0.85-rc2″에 압축을 풀었다.
    2. [제어판->시스템->고급->환경변수->시스템환경변수->새로 만들기]에서 변수 이름 NANT_HOME, 변수값 C:\Program Files ant-0.85-rc2을 추가한다.
    3. [제어판->시스템->고급->환경변수->시스템환경변수->PATH]에 %NANT_HOME%;bin 을 추가한다.
  4. CruiseControl.Net
    1. CruiseControl.NET-1.0-Setup.exe 을 설치한다. 여기서는 기본설치경로 “C:\Program Files\CruiseControl.NET\”을 선택했다.
    2. CruiseControl.NET-CCTray-1.0-Setup.exe 을 설치한다.
    3. C:\Program Files\CruiseControl.NET\server\ccnet.config 을 메모장으로 연다. 프로젝트 설정을 추가한다.
    4. [관리도구->서비스->CruiseControl.NET Server->등록정보]에서 시작유형 ‘자동’, 서비스 상태 ‘시작’으로 설정한다.
  5. CCTray
    1. CCTray를 실행시킨다. 바탕화면에 바로가기가