본문 바로가기
T.I.L. :: Today I Learned/항해99 14기 본과정

Day38. 테스트 코드..... 테스트 코드.......

by DaSsom 2023. 5. 10.

아 진짜 나도 테스트 코드 잘 짜고 싶다. 이거 어떻게 해야 잘 구현할 수 있는거지..? 생각으로는 흐름이 잡히는데 구현이 쉽지 않다. 아무리 많은 레퍼런스를 찾아보아도 갈피를 잡지 못하겠다. 

어떻게 구현을 하긴 했고 성공을 하긴 했는데 팀원들과 계속해서 "이게 맞나..?"라는 생각을 버릴 수 없었다. 중복되는 코드도 너무 많았고 실패 케이스를 구현하는 것도 너무 힘들었다. 

 

예를들어, 로그인 성공 테스트를 한다고 하면 먼저 user 객체를 만들어주고 loginDto를 만들어서 service단에 있는 login메소드를 사용한다. 그럼 내부 로직에 의해 토큰까지 생성이 되어 반환값이 나와주어야하는데, 무슨 이유에서인지 토큰 생성이 되지 않았다. 계속해서 null값을 뱉었다. 결국은 login메서드도 사용하고 createToken 메서드도 사용해서 강제로 생성하게 했다. 그렇게 만들어진 토큰으로 테스트를 하니까 어쨌든 로그인 성공 테스트를 구현하긴 했는데, 이게 맞는걸까?

 

아악.

 

 

 

 

https://covenant.tistory.com/256

 

완벽정리! Junit5로 예외 테스트하는 방법

환경 구성 testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeClasspath - Runtime classpath of source set 'test'. +--- org.springframework.boot:spring-boot-starter-web -> 2.5.6 \--- org.springframework.boot:spring-boot-sta

covenant.tistory.com