테스트 오류
302
작성한 질문수 19
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
테스트 할 때 ItemRepositoy 생성자 주입을 했는데 계속 null이라고 나와서요! 혹시 뭐가 문제인걸까요??
package study.datajpa.repository;
import jakarta.persistence.Id;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import study.datajpa.entity.Item;
import static org.junit.Assert.*;
@SpringBootTest
public class ItemRepositoryTest {
@Autowired ItemRepository itemRepository;
@Test
public void save() {
Item item = new Item("A");
itemRepository.save(item);
}
}package study.datajpa.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import study.datajpa.entity.Item;
public interface ItemRepository extends JpaRepository<Item, Long> {
}package study.datajpa.entity;
import jakarta.persistence.Entity;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.Id;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.domain.Persistable;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import java.time.LocalDateTime;
@Entity
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@EntityListeners(AuditingEntityListener.class)
public class Item implements Persistable<String> {
// @GeneratedValue
@Id
private String id;
public Item(String id) {
this.id = id;
}
@CreatedDate
private LocalDateTime createdDate;
@Override
public String getId() {
return id;
}
@Override
public boolean isNew() {
// 해당 데이터가 new냐 아니냐에 따라 새로운 객체인지 아닌지 판단
return createdDate == null;
}
}아래는 오류 내용입니다
Cannot invoke "study.datajpa.repository.ItemRepository.save(Object)" because "this.itemRepository" is null
java.lang.NullPointerException: Cannot invoke "study.datajpa.repository.ItemRepository.save(Object)" because "this.itemRepository" is null
at study.datajpa.repository.ItemRepositoryTest.save(ItemRepositoryTest.java:19)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
답변 2
0
안녕하세요. 새싹님, 공식 서포터즈 OMG입니다.
@Test 어노테이션의 import가 import org.junit.Test; 되어 있네요
두가지 방안이 있습니다.
(1) import org.junit.Test; 사용 시 RunWith추가 적용 ==> Junit4

(2) import org.junit.jupiter.api.Test;로 변경 ==> Junit5

build.gradle에 아래 설정이 적용되어 있다보니 4,5 둘다 적용이 가능했었네요^^

감사합니다.
0
안녕하세요. 새싹님, 공식 서포터즈 y2gcoder입니다.
도움을 드리고 싶지만 질문 내용만으로는 답변을 드리기 어렵습니다.
실제 동작하는 전체 프로젝트를 ZIP파일로 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.
주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요
추가로 다음 내용도 코멘트 부탁드립니다.
1. 문제 영역을 실행할 수 있는 방법
2. 문제가 어떻게 나타나는지에 대한 상세한 설명
링크: 공식 서포터즈
링크: 자주하는 질문
감사합니다.
0
https://drive.google.com/file/d/1fvY6mWMEOU8Ce3QH15Kt13rA5FhSNCbw/view?usp=sharing
여기있습니다 :)
문제점은 위에 나와있는 Item 테스트 시 발생하는 오류입니다
existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?
0
67
1
existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?
0
105
3
MemberRepository 구현체
0
56
1
pdf 표현 질문드립니다.
0
60
1
로그가 남지 않는 문제.
0
79
1
테스트 라이브러리가 강의는 junit4가 맞나요??
0
70
2
pdf 파일과 차이점이 있는 것같은데 문제 없나요?
0
71
2
@PrePersist, @PreUpdate 호출 시점 질문드립니다.
0
91
2
Sort 인터페이스는 잘 사용 안하나요?
0
52
1
스캔대상 질문드립니다.
0
45
1
하이버네이트6에서의 최적화에 이은 질문
0
82
1
save() vs saveAndFlush DB 통신 횟수
0
52
1
순수 JPA 리포지토리 코드 수정부분
0
86
2
bulk연산 후 flush하는 이유를 모르겠어요
0
150
3
bulk insert 질문입니다.
0
175
2
교만했던 것 같아요.
0
145
1
RESTful 강의는 안하시는 건지 궁금합니다.
0
145
2
동적 테이블에 대한 질문
0
85
1
영속성 전이와 연관관계
0
130
2
강의 10:25 질문
0
73
1
단건 update 질문
0
95
2
엔티티 와 도메인의 경계
0
126
1
UsernameOnlyDto 타입 type mismatch 오류
0
119
1
Projection 개념과 데이터 전달과정에 대해 질문 있습니다.
0
135
1





