2014-07-16 1 views
0

일부 junit 테스트를 실행하는 jenkins 작업과 테스트에 실패하면 bash 스크립트를 호출하는 빌드 빌드 단계가 있습니다 (실제로 로그에 "Test in error : "). 그런 다음 스크립트는 일부 텍스트 (jenkins 환경 변수 중 일부를 사용)를 skype 봇으로 보냅니다.게시 빌드 스크립트에서 jenkins에서 실패한 테스트 목록 인쇄

이제 로봇이 어떤 테스트가 실제로 실패했는지 말하고 싶습니다. 나는 플러그인과 구글을 통해 조사 해왔다. 그러나 지금까지 어떤 테스트가 실패했는지 알 길이 없었다. 실패한 테스트를 스크립트에 전달하거나 빌드 후/빌드 중에 환경 변수를 설정하는 방법이 있습니까?

답변

1

우리는 단위 테스트를 실행하는 jenkins 작업이 있고 "JUnit 테스트 보고서 게시"빌드 빌드 단계가 있습니다.

이렇게하면 실패한 테스트를 포함하여 테스트 결과를 보여주는 페이지가 표시됩니다. 스크립트의 한 가지 옵션은 해당 페이지를 가져오고 실패한 테스트 이름을 화면 밖으로 긁어내는 것입니다 (설치시 "showFailuresLink"기능에 묻혀 있음).

페이지는 REST API를 통해 액세스 할 수도 있습니다. 나는 약간의 연주와 같은 요청 발견이 경과 연령은> 0 또는 상태 인 항목을 분석 할 수있을만큼 간단한

{ 
    "suites" : [ 
    { 
     "cases" : [ 
     { 
      "age" : 0, 
      "className" : "com.e.authentication.SimpleAuthenticationInfoTest", 
      "name" : "testGetCredentialKeys", 
      "status" : "PASSED" 
     }, 
     { 
      "age" : 0, 
      "className" : "com.e.authentication.SimpleAuthenticationInfoTest", 
      "name" : "testGetExpirationInterval", 
      "status" : "PASSED" 
     }, 
... 

=!

http://host:7098/jenkins/job/ExecuteUnitTests/166/testReport/api/json?pretty=true&tree=suites[cases[className,name,age,status]] 

이 같은 결과를 제공을 . 요청을 더 구체화하여 원하는 것을 얻을 수있는 방법이있을 수 있지만 시간이 없으므로 그걸 가지고 놀아야합니다.

+0

고마워요, 이것은 확실히 올바른 방향으로 나를 안내합니다. 이제 tree/xpath 표현으로 놀아 보았습니다 :) – Qarion

관련 문제