강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của a903496455575
a903496455575

câu hỏi đã được viết

Trong thực tế! Sử dụng Spring Boot và JPA1 - Phát triển ứng dụng Web

Cấu hình JPA và DB, kiểm tra hoạt động

H2 DB 생성

Đã giải quyết

Viết

·

544

·

Đã chỉnh sửa

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
여기에 질문 내용을 남겨주세요.

13:51초에서 실행 오류가 나며, H2 db에서 Member가 생성되지 않습니다. 하루정도 구글링을 진행하였지만 해결되지 않아 질문드립니다.

 

아래는 작성한 코드입니다!

https://drive.google.com/file/d/1vASQI42Acv8UbdcQ_MDLIkDe0W0pcUba/view?usp=sharing

javaspring웹앱spring-bootjpa

Câu trả lời 1

0

안녕하세요.

제가 강의는 들어보지 않아 정확하게는 모르겠지만,

아마도 강의에 사용된 Spring Boot 버전보다 최신 버전을 사용하게 되면서

생기는 이슈 같습니다.

 

Spring Boot 3.2.4를 사용하셨는데,

이 버전에서는 JUnit 4와 호환성을 보장하는 JUnit Vintage Engine 가 기본으로 포함되지 않아 JUnit 5의 어노테이션 클래스를 사용해야합니다.

  • // 참조

package jpabook.jpashop;

import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test; // ✨
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.transaction.annotation.Transactional;

// @RunWith(SpringRunner.class) // ✨ @SpringBootTest 내부에  @ExtendWith(SpringExtension.class)가 있어서 불필요함.
@SpringBootTest
class MemberRepositoryTest {

  @Autowired MemberRepository memberRepository;

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

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

    // when
    Assertions.assertThat(findMember.getId()).isEqualTo(member.getId());
    Assertions.assertThat(findMember.getUsername()).isEqualTo(member.getUsername());
  }
}

 

그리고 저는 h2 설치를 별도 설치한 상태가 아니여서 embedded 모드 실행 상태에서 테스트 코드 실행만 확인만 하려고..

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

DB 연결 정보 내용을 주석처리하고 테스트 실행만 확인만 했는데요, 테스트는 통과 했습니다.

 

a903496455575님의 프로필 이미지
a903496455575
Người đặt câu hỏi

감사합니다! 덕분에 해결하였습니다.

Hình ảnh hồ sơ của a903496455575
a903496455575

câu hỏi đã được viết

Đặt câu hỏi