단위 테스트가 실패 할 때 빌드는 불안정으로 태그가되지 않습니다.

StackOverflow https://stackoverflow.com/questions/1431777

  •  07-07-2019
  •  | 
  •  

문제

Hudson 서버에 새로운 작업을 추가하여 MakeFile으로 프로젝트를 구축했습니다.

쉘 명령 실행 :

#!/bin/bash
cd $JOB_NAME
make

내 makefile은 이렇게 보인다

SDK_31 = iphonesimulator3.1
TARGET_DEV = myProject
TARGET_TEST = unitTest

all: debug
debug:
        xcodebuild -sdk ${SDK_31} -target "${TARGET_DEV}" -configuration Debug
        xcodebuild -sdk ${SDK_31} -target "${TARGET_TEST}" -configuration Debug

clean:
        xcodebuild -alltargets clean
        rm -rf build

그러나 Hudson이 프로젝트를 구축하면 일부 단위 테스트는 실패하지만 빌드는 성공적으로 태그됩니다.

"불안정한 프로젝트"를 갖기 위해서는 어떻게해야합니까?

친애하는,

도움이 되었습니까?

해결책

구축 후 'Junit Test Result Report'게시를 활성화하여 단위 테스트 결과를 기록하도록 Hudson을 구성해야합니다.

포스트-빌드 조치 http://img141.imageshack.us/img141/5136/hudsonjunit.png


업데이트: Junit XML 출력을 얻을 수 없다면 텍스트 파인더 플러그인 빌드 상태를 변경하려면 :

이 플러그인을 사용하면 지정한 파일에서 키워드를 검색하고이를 사용하여 빌드를 성공 또는 실패로 표시 할 수 있습니다.

다른 팁

Christian Hedin 의이 편리한 루비 스크립트를 발견하여 Ocunit Tests (Xcode에서 사용한 형식)를 Junit XML 파일 (Hudson에서 사용하는 형식)으로 변환합니다.

Github에서 스크립트를 가져올 수 있습니다.http://github.com/ciryon/ocunit2junit

그리고 그것을 사용하는 방법에 대한 설명을 위해 여기에 대한 그의 블로그 게시물이 있습니다.http://blog.jayway.com/2010/01/31/continuos-integration-for-xcode-projects/

기본적으로 XcodeBuild는 다음과 같은 명령으로 ocunit2junit.rb로 파이프합니다.

/usr/bin/xcodebuild -target UnitTests | /usr/local/bin/ocunit2junit.rb

또한 XML 파일을 프로젝트 폴더의 루트에서 작성하는 테스트 보고서 폴더로 배치합니다. 그런 다음 허드슨에게 복사하라고 지시하십시오 test-reports/*.xml 주니트 결과로 인공물이 설정되어 있습니다.

이 설정을 통해 Hudson은 단위 테스트가 통과되었거나 실패했는지 올바르게 식별하고 빌드의 안정성을 올바르게 표시 할 수 있습니다.

나는 지금 그것을 한 달 동안 사용해 왔고 그것은 훌륭하게 작동합니다. 설정은 매우 간단했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top