본문 바로가기

Programming/개인 프로젝트

[중고거래사이트 - 3] MockMVC를 통한 테스트

반응형

프로젝트를 시작하면 하루하루가 배움의 연속이다.

이번 프로젝트에서 MockMVC를 처음 사용했는데, 말 그대로 가짜(mock) mvc 환경을 조성한다. 덕분에 서버를 실행시키는 수고를 거치지 않고 Controller 클래스 기능 테스트를 할 수 있다. 

 

사실 아직까지 테스트 클래스 작성의 실효성이 크게 와닿지 않는다. 하지만 좋다는 것은 알겠다. 테스트를 통해 밑바닥부터 튼튼한 서비스를 만들고 있다는 느낌을 얻을 수 있다. 그리고 이는 자신의 코드에 대한 자신감으로 이어지는 것 같다. 다. 꼼꼼한 테스트 구현이 가능하도록 연습해야겠다. 

 

다시 MockMVC로 돌아가서, 아이디 중복체크 기능을 테스트하면서 HTTP 상태 코드 200을 반환하는 여부를 확인했더니 잘 진행되었다. 그렇게 넘어가려던 찰나, 가만히 생각해보니 메서드 반환 값이 Boolean 타입이라 상태 코드는 의미가 없는 것 같다고 생각했다. 그래서 리턴 형태가 true인지 false인지 확인하도록 테스트 코드를 수정했더니 방금 전까지 통과했던 테스트가 통과하지 못했다. 원인은 반환하는 데이터 형태가 application/xml 형태라는 것이었다. json 형태로 데이터를 주고받도록 구현했기 때문에 구글링을 통해 반환 데이터 형식을 명시할 수 있는 MockMVC 메서드를 추가해서 다시 테스트를 진행했다. 결과는 테스트 통과. 

 

이 과정을 통해 테스트를 하려면 제대로 하던지, 아니면 하지 말고 개발 속도를 높이던지 둘 중 하나만 제대로 하는 것이 차라리 낫겠다고 생각했다. 물론 둘 다 제대로 하면 최상이겠지.

테스트를 위한 테스트를 하지 말고 확실하게 기능을 확인하는 테스트를 구현하자. 가 오늘 배운 교훈이다.

반응형