2013-05-14 2 views
17

저는이 분야에서 인터넷 검색을 조금 해본 경험이 있습니다. Jenkins가 boost.test의 XML 출력 형식을 이해하는 데 많은 논의가 있었지만 표준 참조는 없습니다.Jenkins를 boost.test 단위 테스트와 함께 사용하기

일부 사람들은 XML 형식을 변환하기 위해 XLST를 사용하기 만하면되고, XML이 해킹을 필요로한다고 제안하는 사람도 있습니다 (Anyone have an XSL to convert Boost.Test XML logs to a presentable format?). 내 검색 결과 5 년에 걸쳐 있기 때문에 일부는 내가 일이 변경되었을 수 있음을 의식 해요,의 xUnit 플러그인 can 기본적 boost.test XML 형식을 이해하고 다른 사람

state it can't을 제안한다. 그래서 까지 최신 번호을 찾고 있습니다. Jenkins를 사용하여 부스트 유닛 테스트를 실행하고 평가하는 가장 좋은 방법에 대한 답변입니다.

+1

내가 말했듯이 최신 정보는 여기에 있습니다 ... 2 년 된 질문에 대해 "복제 버튼"을 자동으로 클릭하지 마십시오. 현재 정보가 확실하지 않은 경우입니다. –

+0

xUnit 플러그인이 구문 분석 할 수 있는지 여부를 확인 했습니까? 연결된 질문에서 xslts를 사용 하시겠습니까? –

+0

일부 오래된 방법이 여전히 효과가 있었다면 뉴스가 아닐 수도 있습니다. 이것이 최선의 방법은 아닙니다. –

답변

24

xUnit 구문 분석은 Jenkins 1.498, xUnit 1.52, boost 1.42를 사용하여 작동합니다. 나는 1.53의 부스트를 사용하는 새로운 프로젝트를 가지고 있으며, XML 출력 포맷은 인간이 오류가 나는 경향이있는 모든 사람의 눈과 동일하게 보이지만, 아직 젠킨스에서 단위 테스트를 설정하지 않았기 때문에 나는 100이 아니다. 출력이 호환되는지 확인하십시오. xUnit plugin comments에서 권장

, 내가 함께 부스트 테스트 프로그램을 실행 해요 :

run_test --log_format=XML --log_sink=results.xml --log_level=all --report_level=no 

내 빌드 후 xUnit의 단계는 BoostTest-1.x의 형식과 results.xml을 분석하도록 구성해야합니다.

여전히 문제가있는 경우 버전 및 테스트 출력 생성 방법에 대한 세부 정보로 질문을 업데이트 할 수 있습니다. 분명히 테스트는 테스트 실패를 나타내는 0이 아닌 종료 코드를 사용했다 부스트 때문에

+0

Brilliant - 테스트 .EXE에 전달 된 매개 변수가 전부였습니다. 아름답게 작동합니다. –

+0

'--result_code = no'도 추가해야합니다. @ Antony의 대답 –

+0

을 참조하십시오. 이것은 더 이상 좋은 답변이 아니며 방금 테스트했을 때 더 이상 작동하지 않습니다.이제 지원되는'--log_format = JUNIT'을 사용하십시오. – Freitags

2
run_test --log_format=XML --log_sink=results.xml --log_level=all --report_level=no --result_code=no 

나는 데이브 BACHER의 대답에 매개 변수를 추가했지만 젠킨스 처리하지 않고 정지 따라서보다 근본적인 실패로이 해석되었다 테스트 결과.

exit 201 
Build step 'Execute Windows batch command' marked build as failure` 
+0

새 답안을 작성하는 대신 Dave Bacher의 대답에 의견을 게시해야합니다. –

+1

관련 주석 권한이있는 사람은 내 취향입니다. – Antony

0

일반적으로이 옵션과 함께 작동합니다. 그러나 큰 프로젝트에서이 프로젝트를 사용하고 XML 파일이 너무 커지면 XUnit 플러그인이 더 이상 작동하지 않습니다. 그래서 log_leveltest_suite으로 변경해야했습니다. 오류 만 기록되며 성공적인 점검은 기록되지 않습니다.