버그를 수정할 때 주어진 버그로 실패한 테스트를 먼저 작성하고 테스트가 통과 할 때까지 코드를 수정하는 것이 좋습니다. 이것은 TDD 관행을 따르고 모범 사례로 생각되지만 실제로 구현에 가까운 암호 테스트를 생성하는 경향이 있음을 알았습니다.
예를 들어, 직업이 전송되고 특정 상태에 도달하여 중단되고 재 시도 될 때 문제가 발생했습니다. 이 버그를 재현하기 위해 스레드 동기화, 많은 조롱 및 물건으로 대규모 테스트가 작성되었습니다. 작업을 수행했지만 코드를 리팩토링하고 있으므로이 매머드를 제거하는 것이 매우 유혹적입니다. 새로운 디자인에 맞추려면 많은 작업이 필요합니다. 그리고 하나의 특정 사례에서 하나의 작은 기능 만 테스트합니다.
따라서 내 질문 : 재현하기 까다로운 버그를 어떻게 테스트합니까? 구현을 테스트하고 리팩토링과 가독성을 떨어 뜨리는 것을 피하는 방법은 무엇입니까?