2014-09-09 3 views
9

셀레늄 테스트를 완료하는 데 약 6 시간이 걸렸습니다. 실행 후에는 시간 초과 오류 또는 불가피한 오류로 인해 실패한 프로그램이 거의 없습니다. 이 경우 실패한 테스트 만 실행하고 싶습니다. 나는 teamcity를 사용하여 nunit 테스트를 실행하고 있습니다. 어떻게하면 실패한 테스트 만 다시 실행할 수 있습니다.teamcity 빌드에서 실패한 nunit 테스트 만 실행하는 방법

답변

1

이 인 TeamCity의 NUNIT 통합의 일환으로 첫 번째 실패 테스트를 수행 할 수있는 옵션이 -하지만 당신은 단지 실패하는 테스트로 제한 할 수 없습니다,이처럼 아무것도 내장되지

당신은 내 의견으로는 여기에 몇 가지 옵션을 사용할 수 있습니다.

  • 은 테스트 실행 시간을 줄이기 위해 병렬로 당신의 셀레늄 테스트를 실행하기 위해 Selenium grid/기타 인프라를 사용합니다. 이것이 문제의 근원 인 것 같습니다 : 현재 전체 테스트를 실행할 시간은 매우 길습니다. Selenium 테스트를 빠르게 실행할 수 있으면 선택적으로 실행할 필요가 없습니다. 일반적으로 내장 된 nUnit 러너는 병렬 처리를 허용하지 않기 때문에 장기간 나쁜 선택입니다.
  • 보고있는 실패를 기반으로 nUnit 테스트 픽스처를 결정하고 해당 테스트 픽스처를 재실행하기 위해 전달한 커스텀 nUnit을 실행하십시오. 다시 통합 할 필요가 없으며 커맨드 라인 nUnit 러너를 사용해야합니다 .
+0

nunit 런너 3은 이제 병렬 실행 지원 – John

0

사용중인 테스트 프레임 워크에 따라 몇 가지 옵션이 있으므로 명령 줄 옵션을 사용하여보다 유연한 기준에 따라 팀시 테스트를 시작할 수 있습니다. 불안정한 테스트 환경에서이 해결 방법을 사용했습니다.

NUnit 필터링 된 출력 파일 (실패한 테스트에 따라)을 다음 실행을위한 테스트 목록으로 사용할 수 있습니다. 이 가져 오기 및 목록을 설정하는 여러 가지 방법이 있으며 여기에 세부 사항을 찾을 수 있습니다

  • 당신이 저장/사용으로 (파일에 실패한 테스트에 목록을 추가 :이 빠른 옵션이 있습니다 https://github.com/nunit/docs/wiki/Console-Command-Line

    PowerShell 스크립트)의

  • 마지막 테스트 결과 파일을 읽고 사용하는 절은 실패한 테스트 각각

을받을 위치를 테스트하여 목록을 실행해야 수축.

주의 :

  • 빌드 쉽지 않다 비교 (인 TeamCity는 실행 시간을 추정하거나 메트릭 변경에 따라 장애 조건이있는 경우)
  • 다른 시험에서 (새) 오류가 발견되지 않은 남아있을 것입니다 모든 테스트를 다시 시작할 때까지
관련 문제