약간의 맥락 : 오늘은 다른 동료가 제공 한 일부 SQL 코드를 업데이트해야했고 꽤 큰 스크립트이기 때문에 별도의 파일로 저장되어 런타임에 읽고 실행됩니다. 이 작업을 수행하는 동안 실수로 몇 달 전에 두 가지 버그가 발생했습니다.
- 어떤 이유로 든 ASCII 파일은 UTF-16으로 인코딩되었습니다 (동료가 파일을 이메일로 보냈기 때문에 나에게 파일을 보냈습니다).
- 스크립트에 초기
SET
명령문 이 누락되었습니다 (프로덕션의 일부 드라이버로 인해 필요하지만 로컬로 새로 설치하지는 않음).
약 1 시간 동안 이것을 디버깅 한 후 다시는 발생하지 않도록 유닛 테스트를 작성하기로 결정했습니다 (그리고 미래 개발자에게 쉬운 수정을 제공하기 위해 어설 션 메시지에 수정하는 빠른 방법 포함).
그러나이 코드를 푸시했을 때 다른 동료 (우리 팀 리더이기도 함)가 나에게 걸어 가서 다음과 같은 이유로 다시 만들면 안된다고 말했습니다.
"이것들은 단위 테스트에 속하지 않습니다"
"단위 테스트는 코드 흐름을 확인하는 데만 사용해야합니다"
나는이 버그가 앞으로 다시 소개되지 않을 것이기 때문에 여전히 내가하고있는 일이 잘못이 아니라고 생각하기 때문에 지금 꽤 갈등합니다. 그러나이 동료는 선배로 일하고 하루가 끝나면 무엇을 결정하게됩니다. 우리는 시간을 보냅니다. 어떻게해야합니까? 이런 식으로 잘못하고 있습니까? 나쁜 습관으로 간주됩니까?