spring

· spring
원티드 프리온보딩 백엔드 인턴십 10월 (7기) - 첫번째 프로젝트로 소셜 미디어 통합 Feed 서비스 API를 개발하는 과제를 받았다. 나는 게시물 좋아요 API, 게시물 공유 API 구현을 담당하게 되었는데, 동작을 확인하려면 DB에 데이터를 넣어야할 것 같았다. 그런데 요구사항 명세에는 데이터 저장에 대한 부분이 없어서 저장 기능을 굳이 구현하기는 좀 (다른 테이블과 연관관계가 있어서 복잡함)... 그래서 일단 더미데이터를 넣어보기로 했다. 기능 개발을 위해 구현된 Post 엔티티는 기본 생성자 하나 뿐인데 Protect로 막혀있어서 어떤 생성자도 사용할 수 없는 상황이다. 마침 어제 공부했던 ReflectionTestUtils가 생각나서, 이걸로 테스트용 더미 데이터를 넣어보기로 했다. Refle..
· spring
@SpringBootTest : 통합테스트 Spring Boot 애플리케이션을 실행할 때 Spring 컨테이너를 시작하는 방법과 동일하게 전체 애플리케이션 컨텍스트를 로드한다. 컨트롤러를 통해 실제 응답값을 확인하고 싶으면 통합테스트를 진행해야한다. @WebMvcTest : 단위테스트 단위테스트란? 소프트웨어의 개별 구성 요소를 검증하기 위한 테스트, 개별 구성 요소의 동작을 분리된 환경에서 테스트하는 것을 목표로한다. @WebMvcTest는 주로 웹 컨트롤러와 관련된 부분을 테스트 하는데 사용한다. 때문에 @WebMvcTest로 테스트하는 것은 웹 계층의 단위 테스트(Unit Test)에 해당한다. 이 애노테이션을 사용하면 특정 컨트롤러와 관련된 로직을 격리된 환경에서 테스트할 수 있다. 격리된 환경?..
· spring
Spring docs - Spring Framework Testing Unit Testing 을 번역, 요약하고 설명을 추가함 Spring Web Reactive , JNDI 등 Spring MVC 와 관련 없는 일부 설명은 제외하였음 단위 테스트 : 순수 자바 객체를 테스트 애플리케이션을 구성하는 POJO(=자바로 생성하는 순수한 객체)는 Spring이나 다른 컨테이너 없이 새 연산자를 사용하여 인스턴스화된 객체를 사용하여 JUnit 또는 TestNG 테스트에서 테스트해야한다. mock 객체 (다른 유용한 테스트 기법과 함께)를 사용하여 코드를 개별적으로 테스트할 수 있습니다. Spring의 아키텍처 권장 사항을 따르면 코드베이스의 깔끔한 계층화 및 구성 요소화로 인해 단위 테스트가 더 쉬워진다. 예를..
· spring
@Nullable 그리고 @NotNull @NotNull을 변수에 붙여서 검증에 사용할 수 있다. 하지만 메소드 인자에서 이 둘은 아무런 역할도 하지 않는다. 메소드 인자에서 이 둘은 단순한 문서 작성 도구로 작용한다. 유효성 검사시 메서드 인자에는 @NotNull이 아닌 @Valid 를 사용해야한다. @Valid 세팅 및 사용법 간단소개 API를 만들다 보면 유효성체크를 꼭하기 마련이다. 매번 유효성체크를 로직을 작성하는 것도 매우 반복되는 일이다. Javax에서 @Valid 어노테이션을 제공해주고 있는대 Bean Validation을 아 cchoimin.tistory.com 메소드 인자에서 유효성 검사하기 : lombok @NonNull 롬복에서 제공하는 @NonNull은 메서드의 인자에 사용하면 n..
가을맛
'spring' 카테고리의 글 목록