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

최정식님의 프로필 이미지
최정식

작성한 질문수

[개념은 호옹~, 실습 빡] 스프링 부트, 입문!

21 테스트 작성하기(이 코드 괜찮나? 저 코드도 문제없으려나..? x100,, 😱)

21강 create테스트 질문

작성

·

262

·

수정됨

0

테스트를 진행하면서 갑자기 createtest를 할때만 에러가 뜨길래 디버깅을 해보니

articleService 클래스 create메소드 return문에서 에러가 나더군요 그래서 article반환값이 돌아오질 않고 에러가 뜹니다 이전에 있던 create관련 질문과 같은 현상으로 보입니다.

 

보니까 Article에있는 어노테이션이 작동을 안하는건지 id값이 null로 반환이 됩니다

스크린샷(115).png

 

 

**추가로 질문드리자면 방금 기본 Article 페이지에서 생성을 했는데 처음몇번은 실패하고 그 다음에 다시 시도하니 create메소드가 정상 작동합니다 이건 어디서 잘못된 걸까요

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

말씀해주신 상황을 기반으로 create 메소드에 대한 에러 상황을 분석해보겠습니다. Article 인스턴스의 id 값이 null로 반환된다면, 먼저 Article 클래스에 적절한 id 생성 전략이 설정되어 있는지 확인해야 할 것 같습니다. 예를 들어 JPA를 사용하고 있다면, @GeneratedValue 어노테이션을 통해 id가 자동으로 생성되도록 설정할 수 있습니다.

create 테스트에서만 에러가 발생한다면, 테스트 환경에서의 데이터베이스 연동 설정이나 해당 테스트에 사용되는 데이터 상태 등을 점검해보셔야 합니다. 테스트를 위한 데이터베이스가 초기화되지 않아 이전 테스트의 결과가 남아있는 등의 이슈일 수도 있습니다.

추가적으로, create 메소드가 처음에는 실패하고 이후에 정상 작동하는 상황에 대해서는 트랜잭션 관리, JPA/Hibernate의 영속성 컨텍스트 상태, 데이터베이스 커넥션 상태 등 다양한 요소들을 체크해보셔야 할 것 같습니다. 첫 시도에서 실패하는 것과 관련해서는, 어떤 에러 메시지가 나타나는지 구체적인 로그 정보를 기반으로 문제를 해결해나가야 합니다.

에러 메시지나 로그 정보 없이는 구체적인 원인을 파악하기 어렵지만, 일반적으로는 위와 같은 방법으로 디버깅을 해볼 수 있습니다. 해당 코드와 상황에 특화된 지원이 필요하시다면, 인프런의 수강 전 문의 게시판이나 직접 강의를 개설하신 지식공유자님께 질문을 남겨보시는 것도 도움이 될 것입니다.

도움이 필요한 부분이 더 있다면 추가 질문을 주시면 감사하겠습니다.

최정식님의 프로필 이미지
최정식

작성한 질문수

질문하기