본문 바로가기

C#

[C#] NUnitLite, Jenkins CI 연동하기

http://pjc0247.tistory.com/26

위 글에 이어서 NUnit Lite와 Jenkins CI를 연동하는 방법에 대해서 알아봅니다.


Jenkins 쪽의 환경을 구성합니다. 아래 과정은 이 글에서는 생략합니다.

1. 아이템을 만들고,
2. SVN, Git에서 체크아웃되도록 설정한 뒤
3. 프로젝트를 빌드합니다.

프로젝트의 빌드는 MSBuild 플러그인을 사용하면 편리합니다.


젠킨스에 NUnit 플러그인을 설치합니다.
https://wiki.jenkins-ci.org/display/JENKINS/NUnit+Plugin

이 플러그인은 이전 글에서 언급한 테스트 결과 xml 파일을 읽어서 젠킨스상에 표시해주는 역할을 합니다. 또한 테스트 결과가 실패일 경우 빌드 결과도 실패로 표기합니다.


(Jenkins에 NUnit 플러그인을 설치해 구성한 모습, 젠킨스에서 각 빌드별 테스트 보고서를 볼 수 있게 됩니다,)


젠킨스 구성 설정에서 아래와 같이 빌드 스텝을 설정합니다. MSBuild가 생성한 exe 파일을 실행하고, 테스트 결과를 TestResult.xml로 출력하는 코드입니다. 이 스텝은 당연히 MSBuild 이후에 실행되도록 구성해야 합니다.

Mono 환경을 이용한다면 (윈도우가 아닐 때), mono 명령어를 이용하면 exe를 실행할 수 있습니다.


옵션에 nunit2 포멧을 지정하는 이유는, 현재 Jenkins NUnit 플러그인이 3 버전을 지원하지 않는 문제가 있기 때문입니다. ( https://issues.jenkins-ci.org/browse/JENKINS-27906 )

빌드 후 조치에 Publish NUnit test result report 항목을 추가합니다.
설정에 테스트 결과가 출력된 xml 파일의 경로를 지정합니다.


이후 빌드를 실행하면, 각 빌드별로 테스트가 실행되며, 실패한 테스트가 있을 경우 테스트 리포트를 받아볼 수 있습니다.



* 추가로 빌드 상태 뱃지를 추가하면 아래와 같이 빌드 & 테스트 상태를 Github 등에서 알릴 수 있습니다.
(
https://wiki.jenkins-ci.org/display/JENKINS/Embeddable+Build+Status+Plugin)


'C#' 카테고리의 다른 글

[C#] Action과 Func의 차이점  (0) 2016.02.01
[Nancy] 에러 핸들링, 핸들러 등록하기  (0) 2016.01.29
[C#] Code Contracts 사용하기  (0) 2015.12.11
[C#] NUnit, NUnitLite 사용하기  (0) 2015.12.10
[C#] string과 String의 차이  (0) 2015.11.11