코드를 삭제하면 버그가 해결되는지 테스트하기 위해 테스트를 작성해야합니까? 테스트 작성, 코드 삭제 및

때때로 버그를 수정하려면 코드 섹션을 삭제 해야하는 상황에 처하게 됩니다. TDD 순수 주의자는 실패한 테스트 작성, 코드 삭제 및 테스트 통과 관찰을 옹호합니다.

이제 일부 코드가 제거되었다는 테스트를받는 것이 정말 이상해 보입니다. 물론, 아무도 소스 제어를 파고 그 코드를 다시 넣지 않을 것이라고 생각하지만 그만한 가치가 있습니까? 그것이 가치가 있다면, 추가 된 코드에 대한 테스트를 작성하는 것보다 확실히 가치가없는 것 같습니다 .



답변

당신은 그것을 잘못보고 있습니다. 테스트는 코드가 제거되었다고 주장 하지 않습니다 . 테스트 특정 기능을 확인합니다.

테스트는 코드를 전달하는 데 필요한 코드 양에 대해서는 신경 쓰지 않으며 일부 코드를 제거했음을 인식하지도 않습니다. 이러한 테스트의 가치는 버그로 인해 생성 한 다른 테스트와 매우 동일합니다. 테스트가 통과 될 때 버그가 없을 것이라는 확신이 있고 빌드 프로세스에 테스트를 통합하면 버그가 발생할 것입니다. 다시 소개되지 않을 가능성이 높습니다.

아직 TDD 관점에서 그것을 보는 또 다른 방법은 다음과 같습니다 당신이 코드를 수정 버그 및 삭제하는 것을 알게되면 다음 테스트를 작성할지 여부를 궁금해을 이미 TDD의 잘못을했다. 버그 작업을 시작한 후에는 먼저 실패하여 버그가 있는지 확인하는 테스트를 작성 해야합니다 . 그 후에 만 ​​코드를 제거해야 할 수도있는 실제 버그를 수정하고 테스트를 통과하십시오. 당신이 묻는 질문은 그런 식으로도 일어나지 않습니다.


답변