Genie의 Java 개발 공부와 일지를 기록하는 아카이브 공간 Today I Learned132 (24.06.20)[10주차] Optional 객체값 가져오기 Optional 객체 User user = userRepository.findByUsername(username).orElseThrow( () -> new IllegalArgumentException("회원을 찾을 수 없습니다.") );Controller - Service - Repository 형태의 3 Layer Architecture 에서 위 코드와 같은 쿼리 메서드를 레포지토리에 JpaRepository 를 extends 시켜서 사용할 수 있다.하지만, 여러 실습을 통해서 무조건 findBy로 찾지 못했을 때, orElseThrow 만 사용하는 것을 실습을 통해 많이 사용하지만, 예외가 던져진다면, 서버에서 작동을 멈추는 단점이 있기도 했다.이 때 만들어지.. 2024. 6. 20. (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. 이전 1 ··· 10 11 12 13 14 15 16 ··· 33 다음