Test

✏️ Study ✏️

참을 수 없는 Unit Test의 모호함.. 그리고 다양한 SW 테스트의 종류들..

1. 이 글을 쓰게 된 계기 테스트를 처음 공부할 때 각 테스트들을 왜 하는건지, 또 종류별로 이름은 왜 이렇게 복잡한지이 모든걸 대체 왜 하는건지 (목적) 어떻게 하는건지 잘 모르고 그냥 막 짜곤 했었다. 시도중인 테스트가 "왜" 필요한 것이고, "왜" 이걸 하고 있는건지 알고 있다면, 좀 더 본질에 맞는 테스트 코드를 작성할 수 있을 것이라고 생각해서 열심히 찾아봤던 기억이 있다. SW 테스트에 대해 모호함을 느끼는 것은 단순히 "열심히 찾아보지 않아서" 때문만은 아니다!SW 테스트들은 종류가 다양하고, 정의가 모호할 때가 있다. 다 비슷 비슷 한거 같고, 같은 용어인데 정의를 서로 다르게 말하는 경우도 많다. (일을 하다보면 그 테스트의 목적이나 개념을 그냥 안 알려주고 그냥 작성하게끔 하는 상황도..

🔥 Projects 🔥

[Security] @WithSecurityContext를 이용해 커스텀 UserDetails SecurityContext Test 코드 작성하기

선요약 커스텀하게 UserDetails를 구현해서 사용중이라면, SecurityContext의 인증된 유저 관련 테스트를 진행할 때 @WithMockUser를 사용할 수 없다. 컨텍스트에 인증된 유저를 배치하는 여러 방법 중 이런 상황에서 편리하고, 아주 유연한 처리가 가능한 @WithSecurityContext를 이용해 테스트 코드를 작성하는 법을 소개해본다. 1. @WithMockUser 사용하기 보통 Spring Security의 Security Context에 로그인된 유저 정보를 이용한 테스트를 진행할 때, 간편하게 `@WithMockUser` 어노테이션을 이용할 수 있다. 내 프로젝트의 Authentication Helper 클래스는 아래와 같이 현재 로그인한 유저를 Security Conte..