TIL

210일차(모험 119일차) - 프로젝트 오류 해결하기

haedal-uni 2022. 4. 12. 23:32
728x90

프로젝트

게시글 test

이 전에 작성한 test 코드를 다시 실행했더니 오류가 떴다.

Error creating bean with name serverEndpointExporter ~ 

 

오류 메세지를 봤더니 MessageContorller 에서 작성한 코드에서 문제가 나서 

해당 코드를 주석처리하고 test를 실행해보니 에러가 뜨지 않았다. 

    @Bean
    public ServerEndpointExporter serverEndpointExporter() {
        return new ServerEndpointExporter();
    }

Bean 은 기본 WebSocket 컨테이너에 @ServerEndpoint 주석이 달린 Bean을 등록한다. 

출처 : [ "사용 방법"가이드 ]

 

 

@ServerEndpoint

이 어노테이션을 명시함으로서 WEB 소켓으로 접속 가능한 URL 정보를 명시하여 소켓 서버를 생성해주며

프로퍼티를 통해 decoder나 encoder를 명시할 수 있다. 

출처 : [ 웹소켓 서버 만들기 ]

 

 

 

이미 @ServerEndpoint 를 이용해 코드를 작성했기 때문에

주석 처리 대신 다른 해결방법을 찾기로 했다. 아래 글을 보고 오류를 해결했다.

출처 : [ javax.websocket.server.ServerContainer not available #146 ]  

 

 

test 코드에 아래 코드를 입력하면 에러 없이 실행할 수 있었다.

@ExtendWith( SpringExtension. class )
@SpringBootTest ( webEnvironment = SpringBootTest . WebEnvironment . RANDOM_PORT )

 

* 모든 test 코드에 적용했다.

 


로그인 test

위에서 말한 코드를 추가하고도 다른 test 코드에서 에러가 떴다.

not-null property references a null or transient value

 

해당 dto를 보니 담아야 할 변수가 더 있었고 이를 test 코드에 추가했다.

그랬더니 정상적으로 실행되었다.

 

 

728x90