Spring/오류

Spring/오류

JPA Cascade, orphanRemoval) 싱글벙글 내 테스트 코드의 문제점을 찾아보자

문제가 발생한 Controller UserControllerTest 그냥 봤을 때 전혀 문제 없이 진행할 수 있는 테스트입니다. User 관련한 Test 코드를 실행했을 때 상황을 보겠습니다. 유저 관련 Test만 진행했을 때 전혀 문제없이 통과합니다. 순서를 어떻게 해도 통과합니다. 단순 회원가입 기능만 작성했기 때문에 그렇게 꼬일 일이 없습니다. 그럼 전체 테스트를 돌려봤을 때 상황을 살펴보겠습니다. 전체 테스트 돌렸을 때 발생한 문제 UserControllerTest만 실패 다른 테스트는 리팩토링 과정 중에 아직 수정하지 않고 UserTest 쪽 먼저 진행 중에 글을 작성한 것입니다. 신경쓰지 않아도 됩니다. 대체 왜 UserControllerTest가 실패했을까요? 처음 이 문제를 해결하기 위해서..

Spring/오류

싱글벙글 스프링 시큐리티, Jwt 토큰을 설정하고 테스트 실행시 에러 발생 Unsatisfied dependency expressed through constructor parameter 0

에러발생 발생원인 분명 서버 실행하고 진행하면 잘 되는데 왜 이러한 에러가 발생할까? Jwt SecretKey를 어떻게 받고있는지 한 번 살펴보겠습니다. 저같은 경우에는 환경변수를 이용해서 key값을 받고있습니다. 그래서 서버가 실행되면 key값이 들어가야 되는데 테스트 코드를 작성하는 곳에는 환경 변수를 세팅하거나 yml이 존재하지 않기 때문에 @Value에서 에러가 발생한 것이였습니다. 해결방법 해결할 수 있는 방법은 2가지가 존재합니다. 첫번째: 환경변수 설정 모든 테스트 환경에 환경변수를 적용하는 방법입니다. 이건 테스트 클래스가 많아질 수록 귀찮고 놓칠 수 있는 부분이기 때문에 비효율적이라고 판단했습니다. 두번째: 테스트 전용 yml 생성 테스트 전용 yml을 생성하는 방법입니다. 이렇게 설정해..

Spring/오류

No Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator

CommentSaveRequestDto public class CommentSaveRequestDto { private User user; private Post post; private String content; private Comment comment; public Comment toEntity(User user, Post post) { return Comment.builder() .user(user) .post(post) .content(content) .parent(comment) .build(); } } CommentController @PostMapping("/api/v1/post/{postId}/comment") public ResponseEntity save(@RequestBody Co..

Spring/오류

RestController를 이용하지 않았을 때 Controller에서 왜 Dto를 받지 못할까?

문제 발생 평소 Rest Api를 이용했었는데 직접 @Controller를 사용해 구현하다가 발생함. 회원가입 버튼을 눌렀을 때, Controller에서 UserJoinRequestDto를 받고 처리하는데 받는 과정에서 발생한 에러다. 내가 구현한 View, Controller, Dto 회원가입 화면 join.html UserController UserJoinRequestDto 원인 Dto에 Setter가 존재하지 않으면 값을 설정할 수 없기 때문에 null이 발생한 것임. 해결 방법 Dto에 @Setter를 선언해서 해결 Js를 이용해 Api 통신 (Content-Type: application/json) Js를 제대로 이해하지 못하고 사용하는데 아직 불편해 @Setter를 사용했다. 정상적으로 값 들..

Spring/오류

org.opentest4j.AssertionFailedError: Jacoco를 사용하면서 겪은 간단한 에러

./gradlew test 를 했을 때 발생하는 문제. 처음 내가 작성했던 테스트 코드들을 살펴보자 import com.fasterxml.jackson.databind.ObjectMapper; import com.likelion.domain.entity.User; import com.likelion.domain.enums.UserRole; import com.likelion.domain.repository.UserRepository; import com.likelion.dto.user.UserJoinRequestDto; import com.likelion.dto.user.UserUpdateDto; import jakarta.persistence.EntityManager; import org.assertj..

Spring/오류

No enum constant: QueryDSL에서 Enum타입을 어떻게 받아서 처리할 수 있을까?

예외 발생 String으로 받으면? 되게 심플한 예외입니다. 먼저 Entity와 Enum을 보겠습니다. Post Entitiy입니다. @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Post extends BaseEntity{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "post_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id") private User user; private String thumbnail; @Column(l..

초보병일이
'Spring/오류' 카테고리의 글 목록