인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

net1506님의 프로필 이미지
net1506

작성한 질문수

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

JPA와 DB 설정, 동작확인

에러 확인 좀 부탁드릴꼐요...

작성

·

3.9K

1

Execution failed for task ':test'.

> There were failing tests. See the report at: file:///C:/Users/net15/Documents/GitHub/jpashop/build/reports/tests/test/index.html

* Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

에러 문구인데요..

서버는 실행 되는데 

테스트하면 자꾸 저런 에러가 나옵니다

아 그리고 메뉴얼파일도 어디에 있는지 알려주세요...

나중에 버전 올라가고 안되는 오류들.. 정리해놓은 파일이

있으시다고 하신 글들을 봐가지고요 ...

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;

@RunWith(SpringRunner.class)
@SpringBootTest
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
// Assertions.assertThat(findMember.getId()).isEqualTo(member.getId());
// Assertions.assertThat(findMember.getUsername()).isEqualTo(member.getUsername());
}

spring:
datasource:
url: jdbc:h2:tcp://localhost/~/jpashop;MVCC=TRUE
username: sa
password:
driver-class-name: org.h2.Driver

jpa:
hibernate:
ddl-auto: create
properties:
hibernate:
show_sql: true
format_sql: true

logging:
level:
org.hibernate.SQL: debug
# org.hibernate.type: trace





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;

}

답변 3

3

김영한님의 프로필 이미지
김영한
지식공유자

net1506님

application.yml에서 

url에 ;MVCC=TRUE 이 부분을 제거해주세요^^!

omg님도 감사합니다^^!

1

안녕하세요.

gradle project로 생성하셨다면

build.graldle 파일

dependencies { } 안에 

testImplementation("org.junit.vintage:junit-vintage-engine") {
exclude group: "org.hamcrest", module: "hamcrest-core"
}

추가 후 '코끼리'(reload, 윈도우 기준 단축키 ctrl + shift + o) 누른 후 다시 실행해 보시겠어요?

말씀하시는 메뉴얼은

강의의 수업자료를 말씀하시는 거구요! (구름 모양 버튼 클릭)

=======================================================================

영상 녹화 시점과 차이가 있어  스프링, IDE, DB 등 버전업 되면서 차이나는 부분들은 영한님이 강의자료 수정하여 추가해놓으셨거든요.

불편한 점 있으시겠지만 넓은 아량으로 이해해주세요~!

혹시 위의 방법대로 해봐도 안될 경우 댓글 남겨 주시면 영한님께서 알려주실거에요!

[ 메뉴얼을 최신버전의 공개 날짜 보다 이전에 받으신 경우, 강의 수강의 편의성과 변경 내역 확인 등을 위해 새로 받아주시면 감사하겠습니다!]

0

저도 같은 증상이라 말씀해주신 코드를 디펜던시 안에 넣으니까 잘 되네요..! 어떤 문제였는지 알 수 있을까요?

testImplementation("org.junit.vintage:junit-vintage-engine") {
exclude group: "org.hamcrest", module: "hamcrest-core"
}

스프링부트 버전이 올라감에 따라 junit의 지원도 4->5로 바뀌었습니다.

강의 제작 당시와 스프링부트 버전의 차이로 인해 추가한 코드입니다.

net1506님의 프로필 이미지
net1506

작성한 질문수

질문하기