inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

MemberRepositoryTest 에러 질문

해결된 질문

466

ycllyo

작성한 질문수 16

0

package jpabook.jpashop;

import org.assertj.core.api.Assertions;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;

import static org.assertj.core.api.Assertions.*;
import static org.junit.Assert.*;

@RunWith(SpringRunner.class)
@SpringBootTest
public class MemberRepositoryTest {

    @Autowired MemberRepository memberRepository;

    @Test
    @Transactional
    public void testMember() throws Exception {
        //given
        Member member = new Member();
        member.setUsername("memberA");

        //when
        Long saveId = memberRepository.save(member);
        Member findMember = memberRepository.find(saveId);

        //then
        assertThat(findMember.getId()).isEqualTo(member.getId());
        assertThat(findMember.getUsername()).isEqualTo(member.getUsername());

    }
}
package jpabook.jpashop;

import org.springframework.stereotype.Repository;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

@Repository
public class MemberRepository {

    @PersistenceContext
    private EntityManager em;

    public Long save(Member member) {
        em.persist(member);
        return member.getId();
    }

    public Member find(Long id) {
        return em.find(Member.class, id);
    }
}
package jpabook.jpashop;

import lombok.Getter;
import lombok.Setter;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
@Getter @Setter
public class Member {

    @Id @GeneratedValue
    private Long id;
    private String username;
}

MemberRepositoryTest에서 저렇게 오류가 나는데 뭐가 잘못된걸까요ㅠ

 

package jpabook.jpashop;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class JpashopApplicationTests {

   @Test
   void contextLoads() {
   }

}

그리고 db를 실행시키지 않고 이 테스트를 돌리면 에러가 나는데 H2 db 실행여부랑 테스트 오류랑 상관이 있을까요?

java spring-boot 웹앱 웹앱 jpa spring JPA

답변 1

0

OMG

안녕하세요. ycllyo님, 공식 서포터즈 OMG입니다.
.

@GeneratedValue(strategy = GenerationType.SEQUENCE) 로 변경하고,

application.yml에 ddl-auto를 create로 변경하고 확인해보시겠어요?
.
감사합니다.

0

ycllyo

말씀하신대로 했는데 똑같이 오류가 납니다ㅠ

0

OMG

프로젝트 코드를 확인해봐야 알 것 같습니다.

전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.

구글 드라이브 업로드 방법 링크

주의: 업로드시 권한 문제 꼭 확인해주세요


감사합니다.

0

ycllyo

https://drive.google.com/file/d/1V63EmM-n5MBCXXGRjeb6YGkNIFYPg9wh/view?usp=sharing

감사합니다!

0

OMG

코드 확인해보았습니다.

해당 오류는 발생하지 않더라구요.

 

h2실행하신 후 jdbc:h2:tcp://localhost/~/jpashop

해당 url에 정상적으로 접속이 되는지도 확인이 필요합니다.

만약 정상 실행된다면 jpashop.mv.db를 완전히 삭제 후 새로 생성해주세요.

image

jpashop.mv.db 삭제 방법

(윈도우)

C/USERS/OMG(계정명) 하위에 존재하는 jpashop.mv.db 삭제

(맥)

/USERS/OMG(계정명) 하위에 존재하는 jpashop.mv.db 삭제

 

0

OMG

추가로 설치하신 h2 버전도 공유해주시면 확인에 많은 참고가 될 것 같습니다.

0

ycllyo

imageh2는 여기에 있는 윈도우 실행버전으로 설치했습니다!

파일명이 콘솔에서는 jpashop.mv.db 인데 폴더에서 보이는건 .db가 빠진게 맞는 걸까요?

말씀하신 url에 정상적으로 접속되는지 확인 후 jpashop.mv 파일 제거 후 다시 해봤는데 같은 오류가 발생하네요ㅠ...

image

이 설정은 강사님께서는 Server로 하셨는데 위에 이미지는 Embedded인게 둘다 상관없는걸까요?

0

ycllyo

image

image

image

image

0

ycllyo

정말 죄송한데 혹시 언제쯤 해결할 수 있을까요?ㅠㅠ 여기에 막혀서 지금 강의를 못듣고 있는 상태인데 하루가 그냥 지나가 버렸습니다...

파일 자체를 재설치도 해보고 했는데 계속 같은 오류가 나네요ㅠ...

0

OMG

강의에서 제공해드리는 프로젝트 코드로 확인해보시겠어요?

만약 동일하다면 jpashop2.mv.db를 생성해서 확인해주세요. application.yml의 url도 ~jpashop2로 변경하셔야 합니다.

 

코드상에서 문제가 발생하지 않고, 자주 발생하는(=이전에 발생하던) 상황은 아니여서 해결 방법을 하나씩 안내드리고 확인해주시는 방법으로 해야 할 것 같습니다.

0

OMG

3시 전까지 답변 남기실 경우 답변 드리고, 3시 지날 경우 저녁에 다시 확인후 답변 드리겠습니다.

0

ycllyo

h2설치 및 설정은 제가 답글에 적은게 다 맞는걸까요?

jpashop2로 해도 같은 오류가 납니다

///////////////////////////////////////////////////////////////////////////////////

프로젝트 코드는 다른거 없이 그냥 테스트파일을 런 해보면 되는걸까요?

image이렇게 오류가 납니다

0

ycllyo

아아 해결했습니다ㅠㅠ h2만 죽어라 다시 시도했는데 그냥 코드가 잘못됐었네요...ㅠ
답변 감사했습니다

sdk 설정 오류

0

53

2

오탈자 - @Transactional

0

56

1

src/test/resources 테스트 경로 문제

0

50

1

상품 등록후 H2 db 출력 순서 바꿀 수 있나요?

0

64

1

MemberRepositoryTest 실행오류

0

81

1

boot 4.x >>> trasasction rolled back log & p6spy(영한님, 수업 자료 업데이트 해주시면 감사하겠습니다!!)

1

184

2

강의 마지막 QueryDSL 사용 부분 질문있습니다

1

142

2

클라이언트에서 isbn과 author 수정 요청을 한 경우에 대해 질문드립니다.

0

51

1

도메인 모델 패턴 vs 트랜잭션 스크립트 패턴

0

71

1

기본 생성자

0

60

1

h2 DB 연결시 jdbc url 변경 이유가 궁금합니다.

0

103

1

멤버서비스테스트 부분에서 막힙니다.

0

165

4

실무에서도 EntityManager를 이용해서 많이 작업하는 편일까요?

0

116

1

초반에 h2 다운로드 과정 꼭 필요한가요?

0

120

2

자신 필드에도 get으로 접근하는 이유가 있을까요?

0

114

1

24분 27초 연관관계 편의 메서드 위치

0

113

1

단건 주문만 가능하게 한건 의도한 부분이신가요?

0

109

2

빌드 툴, Gradle

0

59

1

h2연결은 된 것 같은데 엔티티 테이블까지 작성 후 확인해보아도 테이블이 안보입니다

0

77

2

Repository에서 EntityManager 주입 방식 차이

0

90

1

롬복과 사용자 정의 setter 메서드

0

73

1

주문 목록 조회 fetch join 질문드립니다

0

82

1

dirty checking 질문드립니다.

0

83

1

동시성 관련 질문입니다

0

75

1