2013-07-23 4 views
2

시스템 동작을 실행하기 위해 일부 specflow 테스트를 작성하고 있습니다. 모두 훌륭한 로컬 근무. 그러나, 내가 자식과 AppHarbor 빌드에 커밋하면 실패합니다. 현재 appharbor 호스팅 앱을 식별하는 변환이 부족하기 때문입니다.AppHarbor 테스트 실행 구성

그러나 specflow (및 selenium) 테스트와 함께 새로운 기능을 쓸 때마다 새로운 기능이 아직 배포되지 않았기 때문에 specflow 테스트가 실패 할 것으로 예상됩니다. Viscious circle.

실은 specflow 테스트를 실행하지 않기 위해 어떻게 든 빌드를 제한하고 싶습니다. AppHarbor에서 어떤 테스트가 실행되도록 제한하는 방법이 있습니까? Nunit 카테고리?

답변

1

이렇게하려면 AppHarbor's solution file convention을 사용할 수 있습니다. specflow/selenium 테스트를 포함하는 별도의 프로젝트가있는 경우 트릭은이 프로젝트가 우리가 작성한 솔루션에서 참조되지 않는지 확인하는 것입니다.

더 구체적으로 이름이 AppHarbor.sln 인 솔루션을 만들 수 있으며이 솔루션 파일에서 AppHarbor로 만들고 테스트 할 웹, 콘솔 및 테스트 프로젝트 만 참조 할 수 있습니다. AppHarbor은 저장소에있는 경우 해당 이름의 솔루션을 항상 빌드하는 것을 선호합니다.

그런 다음 specflow/selenium 테스트가 포함 된 프로젝트가 포함 된 개발을 위해 별도의 솔루션 파일 (이미 사용하고있는 솔루션 파일)을 유지 관리 할 수 ​​있습니다. 이렇게하면 현재 워크 플로를 커밋하고 유지하기 전에 로컬로 테스트를 실행할 수 있습니다.

+0

응답 해 주셔서 감사합니다. 나는 그것을 시도 할 것이다. 네가 나를 즐겁게 해주면 한가지 고려해. 최종적으로 배포 후 specflow 테스트를 실행하고 싶습니다. 즉, 최신 기능이 사이트에 충돌했을 때 specflow 테스트가 수반됩니다. 나는 이것을 할 방법이 없다고 말하는 것이 맞다고 생각한다. 빌드 파이프 라인은 의도적으로 가볍고, 빌드하고, 테스트 할 수 있으므로 구성 할 수 없다고 생각합니다. 그런 작업을하기 위해 내 팀 도시 인스턴스를 설정하고 CI 서버 배포 이후에 내 제품에 대한 specflow 테스트를 실행해야 할 것입니다. –

+0

맞습니다. 현재 빌드/테스트 프로세스의 일부로 실제 실행중인 웹 사이트에서 테스트를 수행 할 방법이 없습니다. 그러나 라이브 사이트에 대한 테스트를 수행하기 위해 [Sauce Labs] (https://saucelabs.com/)와 통합 할 수 있습니다. 테스트를 위해 개발/준비 앱을 실행하고 싶을 수 있습니다. 외부 서비스 또는 자체 CI 서버 배포 후 실행합니다 (프로덕션 사이트로 푸시하기 전에). – runesoerensen