WebSocket-STOMP 테스트하기SpringBoot의 테스트도구인 JUnit에서 WebSocket - STOMP 프로토콜을 테스트해보자더불어서, Connect시의 accessToken 검증을 거치는 별도로 제작된 interceptor 통과를 위한 설정도 함께 한다. 1. SocketClient 생성socketJS가 활성화된 서버임을 가정하며, 다음과 같이 session 객체를 얻어온다this.SOCKET_URL = "http://localhost:" + port + "/ws";this.session = setSession();...private StompSession setUserSession() throws ExecutionException, InterruptedException { // ..
SpringBoot의 WithSocketJS 설정SpringBoot 서버 구축 시, withSocketJS() 라는 함수 활성화 선택지가 있다. 그 영향력은 아래와 같다..withSocketJS()가 아닐 때 Client의 접근 (ft. React)// in Spring@Overridepublic void registerStompEndpoints( org.springframework.web.socket.config.annotation.StompEndpointRegistry registry) { registry.addEndpoint("/ws") .setAllowedOriginPatterns("*"); // .withSockJS(); }import {..
1. Get 테스트하기특성 속성(Key)의 데이터(value) 존재, 타입 확인 @DisplayName("모든 정보를 조회한다") @FindWithMockUser @Test public void testFindAllInfo() throws Exception { mockMvc.perform(get(PREFIX) .headers(headers)) // Token 등 필요한 header 첨부 .andDo(print()) .andExpect(status().isOk()) // 기대 상태값 .andExpect(jsonPath("$.data[0].a").exist..
Lazy, Eager 한 줄 요약 지연로딩, Lazy 필요한 시점에 연관된 데이터를 불러오기 즉시로딩, eager 연관된 데이터를 한 번에 불러오기 JAVA Persistence API 대부분 join을 이용해 SQL 한 번으로 조회한다 JPA에서 테이블 간 연간 관계는 객체의 참조를 통해 이루어진다 서비스가 커진다 > 참조하는 객체가 많아진다 > 객체가 가지는 데이터 양이 많아진다 DB로부터 참조하는 객체들의 데이터를 한꺼번에 가져오는 것은 비효율적이다 해결방안으로 참조하는 객체들의 데이터를 가져오는 시점을 정해버리자 Fetch Type JPA의 참조하는 개체들의 데이터를 가져오는 시점을 정하기 이 Fetch Type으론 Lazy방식과 Eager방식과 존재 Lazy, 지연로딩 로딩되는 시점에 Lazy로..
도서, 스프링 부트와 AWS로 혼자 구협하는 웹 서비스(2019)를 토대로 공부한 내용입니다. 1. 롬복 : 자바 개발시 자주 사용하는 코드 Getter, Setter, 기본생성자, toString등을 어노테이션으로 자동 생성해줌 1.1. 의존성 코드 작성 build.grade > 의존성에 다음 코드 작성 implementation('org.projectlombok:lombok') annotationProcessor('org.projectlombok:lombok') testImplementation('org.projectlombok:lombok') testAnnotationProcessor('org.projectlombok:lombok') 1.2. 롬복 플러그인 2021기준 최신판에서는 lombok이 이..
도서, 스프링 부트와 AWS로 혼자 구협하는 웹 서비스(2019)를 토대로 공부한 내용입니다. 1. 테스트 코드 관련 개념 1.1. TDD란 TDD: 테스트가 주도하는 개발 즉, 테스트 코드를 먼저 작성하는 것부터 시작 1.1.1. TDD-레드 그린 사이클 실패하는 테스트를 먼저 작성한다 (RED) 테스트가 통과하는 프로덕션 코드를 작성한다 (GREEN) 테스트 통과시 프로덕션 코드를 리팩토링한다 (Refactor) 1.2. 단위 테스트란 TDD의 첫 단계인 기능단위 테스트 코드 작성 테스트 코드를 굳이 먼저 작성하지 않아도 된다 리팩토링이 포함되지 않는다 테스트 코드만 작성하는 것을 이야기한다 1.2.1. 테스트 코드 작성 이유 단위 테스트는 개발단계 초기 문제를 발견하게 도움 단위 테스트는 개발자가 ..