2014-11-01 2 views
0

다음과 같이 Selenium과 함께 엔드 투 엔드 테스트를 실행해야하는 프로젝트를 빌드하고 있습니다. 집중적 인 통합 실행 또는 엔드 투 엔드 테스트 실행 (예 : 셀레늄). 외부 실행 서버 (예 : Heroku)에서 실행해야합니다. 통합 테스트를 실행하려면 응용 프로그램을 외부 시스템에 연결해야합니다. 데이터 베이스.Selenium 테스트가 실패하더라도 빌드가 Travis-CI에서 실패하지 않습니다.

이 매우 높다 지금 (우리가 파일을 매우 앞뒤로 갔을에도 불구하고) 이런 식으로 뭔가를 보이는 우리의 .travis.yml 파일, 함께 할 수있는 뭔가가 있습니다 기본적으로

... 
script: 
- ./gradlew check 
deploy: 
provider: heroku 
api_key: 
secure: ***** 
app: ***** 
after_deploy: 
- ./gradlew seleniumXvfb 

을 우리가 원하는 것은 유닛 테스트를 실행하는 ./gradlew check을 먼저 실행 한 다음 애플리케이션을 heroku에 배포하고 마지막으로 스테이징 서버 (heroku)에서 셀레늄 테스트 (end-to-end 테스트)를 실행하는 것입니다.

그러나 travis는 셀레늄 테스트가 실패 할 때 실패한다는 것을 신경 쓰지 않는 것처럼 보입니다. Travis는 빌드에 대한 녹색 체크 표시를 전체적으로 보여줍니다.

이것이 끝나면 프로덕션 서버에 배포하려고합니다.

감사합니다.

+0

'after_deploy'와 (과) 비슷한 소리가 잘못되었습니다. –

답변

2

after_deploy은 현재 Travis CI에서 빌드를 실패하지 않습니다.

응용 프로그램을 Heroku의 실행 준비 시스템에 대해 테스트하려면 before_script 단계의 일부로 수동으로 배포 한 다음 script 섹션에서 ./gradlew seleniumXvfb 명령을 실행하는 것이 좋습니다.

그런 식으로 스테이징 시스템에 대한 테스트의 성공을 기반으로 적절한 프로덕션 배포를 수행 할 수 있습니다.

관련 문제