• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

MemberRepositoryTest가 실행이 안돼요. (spring boot가 졌다 바로 꺼짐)

23.12.21 21:37 작성 23.12.21 21:47 수정 조회수 131

1

1장 프로젝트 환경설정 부분 듣고 있습니다!

 

test는 실행되는데 ,Test 실행 후 localhost에 접속해서 h2-console에 들어가야되는데, 바로 spring boot가 꺼져버려서 강의 진도를 못나가고 있어요 ㅠㅠ 강의pdf 꼼꼼히 읽어보고 yml, build.gradle도 고쳤는데 안됩니다. 뭐가 잘못된 걸까요? ㅠㅠ

 

아래는 log 끝 부분 입니당,, DB에 값이 들어갔다가 오류 메시지가 뜨네요

insert into member (username,id) values (?,?)
insert into member (username,id) values ('memberA',1);
2023-12-21T21:29:43.402+09:00  INFO 25432 --- [    Test worker] p6spy                                    : #1703161783402 | took 1ms | commit | connection 4| url jdbc:h2:tcp://localhost/~/jpashop

;
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
2023-12-21T21:29:43.464+09:00  INFO 25432 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2023-12-21T21:29:43.469+09:00  INFO 25432 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2023-12-21T21:29:43.492+09:00  INFO 25432 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

 

아래는 application.yml입니다

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

  jpa:
    hibernate:
      ddl-auto: create
    properties:
      hibernate:
#       show_sql: true
        format_sql: true
        dialect: org.hibernate.dialect.H2Dialect
logging.level:
  org.hibernate.SQL: debug
#  org.hibernate.orm.jdbc.bind: trace #스프링 부트 3.x, hibernate6

 

아래는 build.gradle 입니다

 


plugins {
	id 'java'
	id 'org.springframework.boot' version '3.1.6'
	id 'io.spring.dependency-management' version '1.1.4'
}

group = 'jpabook'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-validation'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	implementation 'org.springframework.boot:spring-boot-devtools'
	implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'
	compileOnly 'org.projectlombok:lombok'
	runtimeOnly 'com.h2database:h2'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	testImplementation("org.junit.vintage:junit-vintage-engine"){
		exclude group: "org.hamcrest", module: "hamcrest-core"
	}
}

tasks.named('test') {
	useJUnitPlatform()
}

답변 1

답변을 작성해보세요.

0

OMG님의 프로필

OMG

2023.12.21

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

테스트 실행과 스프링 테스트의 종료 여부와 관계 없이 h2를 실행하시면 h2에 접근 가능합니다.

h2를 실행해서 확인해주세요.

 

감사합니다.

박수미님의 프로필

박수미

질문자

2023.12.21

localhost:8080/h2-console로 안들어가도 된다는 말씀이신가요?

test 실행 후 아래처럼 들어가니 not found라고 뜹니다

 

 

image

 

image

OMG님의 프로필

OMG

2023.12.21

localhost:8080/h2-console 로 접근하지 않고

h2가 설치된 폴더에서 bin폴더로 들어가셔서 h2.bat을 클릭하여 실행해보시겠어요?

image

박수미님의 프로필

박수미

질문자

2023.12.21

됐습니다!! 감사합니다!