강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

원덕희님의 프로필 이미지
원덕희

작성한 질문수

DGS: NETFLIX가 스프링 부트로 대용량 트래픽을 처리하는 방법

Subscription Test

작성

·

17

0

Subscription에 대한 테스트를 진행을 할 때 onNext에서 실행이 되는 기능들이 호출이 되지가 않아서 reviews에 담겨 있는 값이 0으로 계속 나오는데 해당 부분을 어떻게 해결을 해야할까요?

//                    val result = t.getData<Map<String, Any>>()

해당 부분도 컴파일 오류가 발생을 하고 있습니다.

 

 

코드 관련해서 완성본을 볼 수 있나요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 원덕희님.

Subscription 테스트 중 onNext 메서드에서 예상한 동작이 실행되지 않아 곤란하실 것 같습니다. 이러한 문제는 Subscription 메커니즘이 정상적으로 설정되지 않았거나, 테스트 환경 설정이 불완전할 때 발생할 수 있습니다.

Subscription 테스트를 올바르게 설정하기 위해 아래의 몇 가지 팁을 제공하겠습니다:

  1. Subscription 설정 확인:

    • GraphQL 서버에서 Subscription이 제대로 설정되어 있는지 확인합니다. 이는 서버 측 코드에서 @DgsSubscription 어노테이션 등이 바르게 설정되었는지 점검하는 것을 포함합니다.
  2. 테스트 환경 설정:

    • @ExtendWith와 같은 JUnit 사용 시 관련 어댑터와 함께 올바른 테스트 환경이 설정되었는지 확인합니다.
    • Mock 객체가 사용될 경우, 이를 올바르게 초기화하고 필요한 부분의 동작을 정의하였는지 확인합니다.
  3. Subscription 테스트 작성:

    • graphql-java-tools 같은 라이브러리를 사용할 경우, ExecutionInput 객체를 생성하고 이를 통해 테스트를 수행할 수 있습니다.
    • ExecutionInput.newExecutionInput() 메서드를 사용하여 Subscription 쿼리를 설정하고 이를 실행하도록 합니다.

특히, 코드 오류가 발생하는 부분은 타입 캐스팅 문제일 가능성이 있습니다. 데이터 타입을 명확하게 정의하고, 필요한 경우 KT에서 !!을 사용하여 안전하게 캐스팅을 처리해보시기 바랍니다.

관련 정보 및 유사한 질문과 답변을 참고하시려면 아래 링크를 확인하실 수 있습니다:

위의 링크에서는 Subscription 설정 및 테스트에 관한 다양한 경험들을 공유하고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

원덕희님의 프로필 이미지
원덕희

작성한 질문수

질문하기