토요일에 하루종일 짰던 상품 뷰를 몽땅 날려먹었다. git은 아직도 너무나 조심스럽다. 함부로 git stash pop 하지 말고 git stash apply로 불러오자 꼭…
토요일에 걸렸던 시간만큼 걸려서 겨우 복구했는데, 그때 짠 코드보다 못난 기분이다. 금요일 밤에 선배 기수에게 피드백을 받고 절치부심해서 갈아엎었던 코드라 아직도 영 아쉽다. 효율적인 데이터베이스 사용에 대한 고민이 깊어졌던 날. 일단 복구한 코드로 포스트맨에서 값이 정상 출력되는 것을 확인하고 다시 유닛 테스트용 코드를 짜기 시작했다.
뷰를 어서 완성해 엔드포인트를 뽑아내고 싶었던 것과 동시에 뷰를 완성하고 싶지 않았던 이유는 유닛 테스트 때문이다. 내가 짠 뷰가 프론트에 전달할 정보가 가장 많은 뷰였는데, 그 말인 즉슨 테스트 코드가 무지하게 길어질 거라는 이야기다. 유닛 테스트는 처음 해보는 거라 진입장벽이 느껴지기도 했고 양에 압도당하기도 해서 사실 지난 주말부터 흐린눈 하고 외면했다. 하지만 푸시 하려면 해야하니까 한 줄 한 줄 눈물을 흘리며 써내려갔다. 이 또한 지나가리라… 소소한 즐거움이라면 뻘데이터를 넣을 수 있다는 것이다. 부동산 소개 문구가 ‘기다렸습니다. 제대로 모시겠습니다.’ 라든가, 18평인데 룸 타입이 포룸이라든가, 렌트 타입이 깔세라든가… 이런 소소한,, 즐거움,,, 껄껄,,,
이쯤에서 정말 이상한 일이 일어나는데, 내가 보기엔 테스트 코드에 전혀 문제가 없는데 아예 첫 번째 클래스부터 돌지 않더라. 동기들한테 이리저리 물어보기도 하고 선배 기수에게 도움을 요청하기도 했지만 도저히 이유를 알 수가 없어 시름이 깊어졌다. 그런데 팀원 한 명이 옆에서 3분 지켜보다가 tests.py를 다시 실행해보자며 명령어를 실행한 순간 갑자기 되는 것이다. 진짜로. 나는 내 테스트 코드에 손도 안 댔는데! 증인 한 명도 데려올 수 있다. 이게 정말 무슨 일이지? 컴퓨터는 거짓말을 안 한다면서 오늘 나에게 거짓말을 했다. 억울해! (하지만 며칠 후 뭐가 문제였는지 밝혀진다.)
아무튼 첫 유닛 테스트를 성공적으로 마치고 푸시까지 날렸다. 너무 개운한 날이다!