해결된 질문
작성
·
246
0
첨부한 사진과 같이 코드를 작성 했는데 아래와 같은 오류가 떴습니다...
혹시 어떻게 해야되는지 여쭤봐도 될까요
============================
CONDITIONS EVALUATION REPORT
============================
Positive matches:
-----------------
None
Negative matches:
-----------------
None
Exclusions:
-----------
None
Unconditional classes:
----------------------
None
답변 1
0
https://drive.google.com/file/d/1US2qMe73NPNsn966X5LiUvVt_u6J7Aqq/view?usp=drive_link
프로젝트 압축 링크입니다.
권한 허용했습니다.
보내주신 코드 확인했습니다!
먼저 현재 MemberServiceTest 코드를 보시면 이미 에러가 발생하고 있는 것을 보실 수 있습니다!
@RunWith 애노테이션을 불러올 수 없는 것 같습니다. 그 이유는 @RunWith 애노테이션이 테스트 프레임워크인 Junit 4에서 지원하는 애노테이션이기 때문입니다.
스프링 부트 3버전을 사용하고 계신다면 Junit 5를 기본적으로 사용하고 계시기 때문에 해당 기능을 사용하기 위해서는 따로 설정을 해주셔야 합니다!
그래서 프로젝트 환경설정 챕터의 강의자료를 보시면 다음과 같은 설명이 있습니다 🙂
그래서 아래의 build.gradle과 같이 Junit4를 사용하기 위한 설정을 추가한 후 MemberServiceTest를 가서 실행해보시면!
plugins {
id 'java'
id 'org.springframework.boot' version '3.1.8'
id 'io.spring.dependency-management' version '1.1.4'
}
group = 'jpabook'
version = '0.0.1-SNAPSHOT'
java {
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-web'
implementation 'org.springframework.boot:spring-boot-devtools'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
//JUnit4 추가
testImplementation("org.junit.vintage:junit-vintage-engine") {
exclude group: "org.hamcrest", module: "hamcrest-core"
}
}
tasks.named('bootBuildImage') {
builder = 'paketobuildpacks/builder-jammy-base:latest'
}
tasks.named('test') {
useJUnitPlatform()
}
강의와 동일하게 테스트 코드를 작성하실 수 있습니다!
앗 근데 제가 했을때는 @Runwith 쪽에 문제라고 뜨지는 않긴 한데...
올려주신 코드 넣고 다시 돌려봤는데 회원가입() 부분에서 아래와 같이 뜨면서 오류가 나는데 혹시 다시 알려주실수 있으실까요.... 처음하는거라 익숙하지도 않고 오류 코드 해석하는것도 어렵네요...
java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@1a2e563e testClass = jpabook.jpashop.service.MemberServiceTest, locations = [], classes = [jpabook.jpashop.JpashopApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceLocations = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@4b741d6d, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@7674f035, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@17f62e33, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@5149d738, org.springframework.boot.test.context.SpringBootTestAnnotation@eedd3ea0], resourceBasePath = "src/main/webapp", contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null]
제 환경에서는 해당 에러가 발생하지 않는 것 같습니다. 혹시 예외 트레이스를 보면
Caused by: ~
해당 부분까지 전체 예외를 보여주실 수 있을까요?
추가로
h2 DB가 실행 중 인지 확인해주시고,
기존 프로젝트가 안될 때 - 프로젝트 초기화(클릭)을 진행해보시고
인텔리J 자바 JDK 버전 설정, 클래스 파일 인식 문제(클릭) 도 진행해보시길 권해드립니다!
https://drive.google.com/file/d/1US2qMe73NPNsn966X5LiUvVt_u6J7Aqq/view?usp=sharing
전체 프로젝트 압축 링크입니다.
MemberServiceTest중 회원가입() 부분을 실행하면 본문과 같은 오류가 뜨는데 혹시 어떻게 해야 될까요