테스트? 에러 안나잖아 한잔해~

알렉스·약 19시간 전
0

테스트 성공 했잖아 한잔해~

개발자로서 첫직장은 사회적인 엄마라고 본다. 적어도 나한텐.
학교에서 배우던 자바는 너무나 기초적인 것이고 회사에서 스프링부트를 배우면 어렵다. 선배를 보며, 선배의 기록을 보며 성장해 나간다.
그 첫직장의 문화는 자연스레 내 문화가 된다.
다른사람들은 모르겠지만, 그 문화가 이성적이고, 내 가치관에 맞는다면 자연스럽게 받아드렸던것 같다.


내 첫직장을 인턴으로 다닐때 아주 감사한 분들이 주위에 계셨는데, 그분들이 같은 회사에 개발자로서 전환하는것을 말렸었다.

안좋은 회사니까 다른데 가라는 뜻이 아니라. 사회에 나와서 엄마가 될 회사를 고를 기회가 있는데, 그 기회를 버리지 말라는 것을.
그 뜻을 4년이 지난 지금에야 이해했으니, 나도 배풀며 살아야겠지. 감사한 마음 가지고.


이야기가 멀리 돌아왔지만 나는 테스트 없는 개발팀에서 일했고, 지금 생각하면 아쉬운 점은 그뿐이다.
그래서 지금부터 테스트 하는 습관을 들일것이다.


개인적으로 깃헙에는 안올릴 예정이지만 기능 구현과 그에 맞는 단위테스트를 병행하면서 개발 했다. 지금 공부하면서 기술 블로그에서도, 거대 테크 기업들의 자격요건에도 강조되어있지만

과거의 나는 아주 안타깝게도 테스트 같은거 안했다.

물론 개발서버에서 동작 테스트, Use-case를 통해 통합테스트는 했다.


"Postman으로 쏴보고 에러 안나면 테스트 아닌가?"
이딴 마인드로 살아와서 단위테스트가 너무너무 불편했다.


JUnit5랑 Mockito를 사용한 후기를 말해주자면

기능 개발 -> 삘받아서 controller / service / repository 싹다 구현
-> 산더미처럼 밀린 유닛테스트 숙제마냥 몰아서 작성
-> 테스트 구현 및 실행
-> 아 이거 방향이 이게 아니구나
-> 기능 수정
-> 단위 테스트 수정
-> 무한 반복

지쳐 쓰러져...

-> 테스트 코드부터 짬
-> 뿌듯

단위테스트 작성을 해보고 알게된 장점

개발자라면 당연히 기능 개발하고 뒤엎은 경험이 있을 것이다. 뒤엎는 상황까지는 아니더라도 영향도가 높은 수정?

그럴때 단위테스트가 빛을 발한다.

단위테스트로 정상 케이스 비정상 케이스 엣지 케이스등 정의 해서 통과 시켜놓고,
리팩토링 할때 다시 단위테스트 Run 누르면 끝!

전에 작성해둔 단위 테스트가 최소한의 안전장치로서 누락된 조건 확인이나 Null 미 체크 등을 방지시켜준다.

아직 배울게 많습니다

나도 이제 테스트에 통달했다고 할수 없다.
어디까지 테스트를 작성해야하는거지? 라는 고민이 많다.

0개의 댓글