저는 현재 TDD에 대해 배우고 있으며 개인 프로젝트에 적용하려고합니다. 또한 이러한 많은 프로젝트에서 버전 제어를 광범위하게 사용했습니다. 나는 커밋을 작게 유지하는 것이 최대 일 때 전형적인 작업 흐름 에서이 두 도구의 상호 작용에 관심이 있습니다. 다음은 몇 가지 예입니다.
새 프로젝트를 시작하고 아직 존재하지 않는 클래스를 만들기위한 간단한 테스트를 작성합니다. 테스트가 컴파일되지 않더라도 클래스를 작성하기 전에 테스트를 커밋해야합니까? 아니면 커밋하기 전에 테스트를 컴파일하는 데 필요한 최소량의 코드를 스텁해야합니까?
버그를 찾아서 다시 작성하기위한 테스트를 작성합니다. 실패한 테스트를 커밋하거나 버그 수정을 구현 한 다음 커밋해야합니까?
이들은 바로 떠오르는 두 가지 예입니다. 답변에 추가 예를 자유롭게 제공하십시오.
편집하다:
두 예제 모두에서 테스트를 작성한 직후 테스트를 통과하는 코드를 작성한다고 가정했습니다. 또 다른 상황이 발생할 수도 있습니다. 나는 커밋하지 않고 몇 시간 동안 TDD를 사용하여 프로젝트를 진행합니다. 마지막으로 커밋 할 때 작업을 작은 덩어리로 나누고 싶습니다. (Git은 단일 파일에서 일부 변경 사항 만 커밋하려는 경우에도 비교적 쉽게 만듭니다.)
이것은 내 질문이 커밋 할 때만 큼 커밋 할 것에 관한 것임을 의미합니다 .