2013-11-26 4 views
1

설정 :트리거 정확한 이메일

  • 젠킨스
  • NUnit과
  • 셀레늄
  • 이메일-EXT (젠킨스 플러그인)

우리가 가지고 설정을 수행하는 C#의 테스트 스위트 : TestRail에서 테스트 계획에 존재하는 테스트를 확인하고 테스트 목록을 파일에 씁니다. 실행 귀찮게하는 테스트의 목록을 가져

  1. 실행 설치 스위트 : 젠킨스의 빌드이 빌드 단계 (후 & 빌드를 당겨)가 있습니다.
  2. /runlist NUnit 매개 변수를 사용하여 제품군을 실행하여 해당 목록을 가져옵니다.

테스트를 실행할 때 매우 효과적입니다.

그러나 [완전히 다른 구현]으로 인해 해당 파일이 비어있는 경우가 있습니다.

    :

    C:\Program Files (x86)\Jenkins\jobs\[job_name]\workspace>exit 0 
    Archiving artifacts 
    Recording NUnit tests results 
    No test report files were found. Configuration error? 
    Build step 'Publish NUnit test result report' changed build result to FAILURE 
    Email was triggered for: Failure 
    Sending email for trigger: Failure 
    

    내가 원하는 것은 두 가지 중 하나입니다

    Tests run: 0, Errors: 0, Failures: 0, Inconclusive: 0, Time: 0.010100375885762 seconds 
    Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0 
    

    이이 단계가 실패 젠킨스를 알려줍니다 따라서 NUnit과는 "목록으로 실행"빌드 단계 결과

  • 적어도 실패 이메일은 발송하지 않습니다.
  • 이상적으로, 설치 빌드 단계의 결과는 빌드 할 것이 없기 때문에 빌드가 중지되도록 알려줍니다. "Aborted"이메일 트리거가 전송됩니다.

Jenkins/this build를 어떻게 구성합니까?

+0

. 그렇지 않으면 항상 스위트에 포함되어있는 항상 통과하는 테스트가 하나 있도록 장비를 조작 할 수 있습니까? 그런 식으로, "비어있는"실행에는 여전히 하나의 통과 테스트가 포함됩니다. – rutter

답변

1

나는 내 자신의 질문에 대한 답을 찾았다 고 생각합니다.

단계 :

  • Conditional Build Step plugin를 설치합니다.
  • Fail The Build plugin을 설치하십시오.
  • 테스트 실행 파일 크기가 0이면 오류 코드 1을 반환하고, 그렇지 않으면 오류 코드 0을 반환하는 배치 스크립트를 추가하십시오.
  • 단일 조건부 빌드 단계 추가 :
    • Windows 배치 명령 실행 == 배치 파일 경로.
    • 빌드 결과 == 불안정 (또는 무엇이든)을 설정하십시오.

내 배치 파일 코드 : 나는 특정 빌드 조건부 단계를 만드는 플러그인가 생각

@echo off 

REM Retrieve the build name. 
set arg1=%1 

REM Set the file name. 
set file="C:\Path\To\TestsToRunFile\%arg1%.txt" 

REM Get the file size. 
FOR /F "usebackq" %%A IN ('%file%') DO set size=%%~zA 

REM Exit codes based on the file size. 
IF %size% EQU 0 (
    exit /b 0 
) ELSE (
    exit /b 1 
)