본문 바로가기

전체 글176

(24.06.19)[10주차] Mockito 구문 개인 과제를 진행하면서 JUnit 5 과 Mockito를 사용하여 테스트 코드를 진행을 했다.하지만, Mock 객체를 만드는 것은 잘 확인할 수 있었지만,Mock객체를 검증하는데 필요한 구문들을 활용하느데 있어서, 일상 영어 같지만, 특정 규칙이 있으며, 그것을 활용한다면 테스트 코드가 더 다양하게 확장시킬 수 있음을 알 수 있었다. 추가적으로 학습을 하기 위해서 Mockito 구문들 그리고 구문에 사용할 수 있는 ArgumentMatcher에 대해선 찾아보고내 말로 정리를 했다.Mockito 구문Mockito에서 알고 있었던 것@ExtendWith(MockitoExtension.class) ...@MockProductRepository productRepository;...Mockito는 가짜객체를 생.. 2024. 6. 19.
(24.06.18)[10주차] Reflection & ReflectionTestUtils을 통한 필드 다루기 @Entity@Getter@Table(name = "users")public class User {... @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(unique = true, nullable = false, name = "username") private String username; @Column(nullable = false) private String password; @Column(nullable = false) private String name; @Column(unique = true, nullable = false) private S.. 2024. 6. 18.
(24.06.17)[10주차] Validator 객체 생성과 테스트 코드에서의 활용 Validation을 사용하면 단순하게 예외가 발생되고 던져지는 것 뿐만아니라, Validator라는 객체로 Validation적용이 된 필드를 검증할 수도 있다. 테스트 코드를 작성하는 과제에서 사용하기 위해 미리 찾아보고 학습한 것으로 정리 Validator 객체 & Validator로 테스트코드에서의 검증엔터티 또는 DTO에서의 필드를 Spring Boot의 Validation의 Annotation을 통해 코드가 작성이 되었고, @Validated와 @Valid를 통해서 필드의 유효성이 코드 진행에서 검사가 진행이 될 수 있음그렇다면, 이것을 따로 검사할 수 있는 방법, 그리고 이 방법을 통해서 Validation에 대해 필드의 검증을 테스트 코드에서 쓸 수 있는 방법으로 Validator 객체를 .. 2024. 6. 17.
(24.06.14)[9주차] Servlet 객체 활용하기 AOP 관점 지향 프로그램에 있어서 부가기능 에서 요청 또는 응답의 정보를 객체화 해서 관련 정보를 얻을 수 있는 방법을 찾아보다가 좋은 방법으로 Servlet 객체를 직접 활용하는 방법을 찾아 공부하면서 정리를 했다.Spring에서 Servlet 객체 활용하기AOP 에서 "부가기능" 으로 모든 Controller가 실행되기 전, Controller에게 요청 Request 된 HTTP Method와 URL 을 log로 찍고 싶은 기능을 넣어야 할 때 사용지금까지 알 고 있는 것은 Tomcat에서의 Servlet - DispatcherServlet이 Controller 패턴 방식으로 API를 요청하는 것을알 고 있었음 그렇다면, 그렇게 작동될 때 전달되는 여러 요청들의 정보를 객체로 전달 하고 있지 않을까.. 2024. 6. 14.
(24.06.13)[9주차] Spring 심화 강의 02 (마무리) Spring 심화 강의와 학습을 진행하면서Spring AOP, Aspect Oriendted Programming 과 API 에서의 Exception Handling에 대해서공부하면서, 나의 말로 정리를 하려고 했다. 추가적으로 개인 과제를 진행하면서 더 파고들면서 분석해야하는 부분이 있다면 앞으로 차례로 정리를 할 것 Spring 심화 강의 간단정리더보기Spring AOP, Aspect Oriented Programming관점 지향 프로그래밍핵심기능/ 부가기능 관점을 기준으로 묶어서 프로그래밍하는 방식모든 핵심기능에 똑같은 부가기능을 다 붙여서 수정시키기엔 많은 리소스를 낭비할 수 없음ex) Controller 핵심기능을 사용자가 사용하는 시간을 모두 트래킹해서 다 더하려는 부가기능을 만드려면 원래는 .. 2024. 6. 13.