티스토리 뷰
-
- 개발자 테스트
- 장점
- 빠르고 정확한 테스트 가능 (예상 동작 VS 실제 동작)
- 테스트 자동화 가능
- 배포 절차 시 테스트 코드가 수행되어 동작 검증
- 리팩토링 후 기존 동작에 대한 보증수표!!!
- 단점
- 개발 시간이 오래 걸림
- 테스트 코드를 유지보수하는 비용
JUnit 을 이용한 단위 테스트
프로그램을 작은 단위로 쪼개서 각 단위가 정확하게 동작하는지 검사하고 이를 통해 문제 발생 시 정확하게 어느 부분이 잘못되었는지를 재빨리 확인할 수 있게 해준다.
@PostMapping("/user/userinfo")
@ResponseBody
public UserInfoDto getUserInfo(@AuthenticationPrincipal UserDetailsImpl userDetails) {
return new UserInfoDto(userDetails.getUsername());
}
private JwtAuthFilter jwtFilter() throws Exception {
List<String> skipPathList = new ArrayList<>();
// Static 정보 접근 허용
skipPathList.add("GET,/images/**");
skipPathList.add("GET,/css/**");
// h2-console 허용
skipPathList.add("GET,/h2-console/**");
skipPathList.add("POST,/h2-console/**");
// 회원 관리 API 허용
skipPathList.add("GET,/user/**");
skipPathList.add("POST,/user/userinfo");
null PointException
private JwtAuthFilter jwtFilter() throws Exception {
List<String> skipPathList = new ArrayList<>();
// Static 정보 접근 허용
skipPathList.add("GET,/images/**");
skipPathList.add("GET,/css/**");
// h2-console 허용
skipPathList.add("GET,/h2-console/**");
skipPathList.add("POST,/h2-console/**");
// 회원 관리 API 허용
skipPathList.add("GET,/user/**");
skipPathList.add("POST,/user/signup");
skipPathList.add("GET,/");
skipPathList.add("GET,/posts/*");
skipPathList.add("GET,/?search=**");
skipPathList.add("GET,/main.js");
skipPathList.add("GET,/favicon.ico");
FilterSkipMatcher matcher = new FilterSkipMatcher(
skipPathList,
"/**"
);
JwtAuthFilter filter = new JwtAuthFilter(
matcher,
headerTokenExtractor
);
filter.setAuthenticationManager(super.authenticationManagerBean());
return filter;
}
안되서 모두 삭제.
'TIL(Today I Learn)' 카테고리의 다른 글
TIL 220606 (0) | 2022.06.06 |
---|---|
TIL 220603 (0) | 2022.06.03 |
TIL 220602 (0) | 2022.06.02 |
TIL 220531 (0) | 2022.06.01 |
WIL 3주차(Week I Learn) (0) | 2022.05.30 |
댓글