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

인프런님의 프로필 이미지
인프런

작성한 질문수

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

회원 기능 테스트

테스트 에러 질문드립니다.

작성

·

1.2K

0

안녕하세요 테스트를 진행하던 중 오류가 발생하여 질문드립니다.

 

테스트 케이스를 클래스 레벨로 진행하면 문제 없이 잘 실행이 되나

한글명의 메서드 상품주문() 레벨에서 테스트를 진행시 해당 에러가 발생합니다.

java.lang.Exception: No tests found matching Method �긽�뭹二쇰Ц(jpabook.jpashop.service.OrderServiceTest) from org.junit.internal.requests.ClassRequest@6c2ed0cd

 

해당 메서드 명을 영어로 바꿔보니 메서드 레벨에서도 진행이 잘 되더라구요...

 

인프런에 답변들을 보고

encoding 형식을 UTF-8로 설정하였으며

idea64.exe.vmoptions엔 해당 코드를 추가하였고

-Dfile.encoding=UTF-8

테스트 진행을 gradle이 아닌 인텔리제이로 설정까지 하였으나 해당 오류를 해결하지 못하였습니다.

혼자선 도저히 해결을 못하겠어 질문남깁니다...

build.gradle 과 test 코드 첨부합니다..

plugins {
   id 'java'
   id 'org.springframework.boot' version '2.7.5'
   id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}

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

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'
   implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.6'


   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"
   }
}
test {
   useJUnitPlatform()
}

tasks.named('test') {
   useJUnitPlatform()
}
package jpabook.jpashop.service;
import jpabook.jpashop.Repository.MemberRepository;
import jpabook.jpashop.domain.Member;
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.junit.Assert.*;

@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional
public class MemberServiceTest {
    @Autowired MemberService memberService;
    @Autowired MemberRepository memberRepository;

    @Test
    public void 회원가입() throws Exception {
        //Given
        Member member = new Member();
        member.setName("kim");
        //When
        Long saveId = memberService.join(member);
        //Then
        assertEquals(member, memberRepository.findOne(saveId));
    }
    @Test(expected = IllegalStateException.class)
    public void 중복_회원_예외() throws Exception {
        //Given
        Member member1 = new Member();
        member1.setName("kim");
        Member member2 = new Member();
        member2.setName("kim");
        //When
        memberService.join(member1);
        memberService.join(member2); //예외가 발생해야 한다.
        //Then
        fail("예외가 발생해야 한다.");
    }
}

답변 1

0

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

다음 링크

와 같은 문제로 보입니다. 해당 링크 참고해서 해결해보시겠습니까?
감사합니다.

인프런님의 프로필 이미지
인프런
질문자

해당 링크를 참조하여 본문에 기재한 것처럼 utf-8 설정 등을 다 적용하였으나 해결이 안되었습니다.. 추가적으로 방법은 없을까요?

인텔리제이를 재시작까지 해보신 거라면 불편하시더라도 테스트 메서드 이름을 영어로 해주시고, @DisplayName에 한글을 표기해 주십시오.

도움이 못돼 죄송합니다.

인프런님의 프로필 이미지
인프런
질문자

아닙니다 항상 도움 잘 받고 있습니다~~

제가 잘못 설정한 부분이 있어서 안 되는 것이겠지요.

답변 해주셔서 감사드립니다~~

인프런님의 프로필 이미지
인프런

작성한 질문수

질문하기