각 커밋에서 테스트를 지속적으로 통합 할 때 가장 좋은 방법은 모든 테스트를 항상 통과시키는 것입니다 (일명 "빌드를 중단하지 마십시오").
나는 그것에 대해 몇 가지 문제를 발견했다.
예를 들어 티켓에 해당하는 테스트를 작성하여 오픈 소스 프로젝트를 도울 수 없습니다. 실패한 테스트가 포함 된 오픈 소스 프로젝트에 풀 요청을 제안하면 빌드가 실패한 것으로 표시되고 프로젝트가 "빌드를 깨뜨릴"것이기 때문에 저장소에 병합되지 않을 것입니다.
그리고 리포지토리에서 테스트에 실패한 것은 나쁜 일이라고 생각하지 않습니다 . 트랙커에 공개 문제가있는 것과 같습니다. 이것들은 단지 고치기를 기다리는 것입니다.
회사에서도 마찬가지입니다. TDD로 작업하는 경우 테스트를 작성하고 커밋 한 다음 테스트를 수행하는 논리 코드를 작성할 수 없습니다. 즉, 랩톱에서 4-5 개의 테스트를 작성했다면 휴가를 가기 전에 테스트 할 수 없습니다. 아무도 내 일을 되 찾을 수 없습니다. 예를 들어 이메일로 보내는 것 외에는 동료와 "공유"할 수 없습니다. 또한 한 사람이 테스트를 작성하고 다른 사람이 모델을 작성하는 것을 방지합니다.
말하자면, 빌드 프로세스 / 지속적인 통합을 오용 / 오해하고 있습니까? "통과"/ "통과하지 않음"은 너무 좁은 표시기 인 것 같습니다.
지속적인 통합 및 TDD 호환 방법이 있습니까?
어쩌면 "새로운 테스트"(즉, 실패 할 수 있습니다) 및 "회귀 테스트"(즉,해야 구별하는 표준 용액 / 연습이 없는 그들이 작업에 사용했기 때문에 실패)?