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

임경호님의 프로필 이미지
임경호

작성한 질문수

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

org.junit.runners.model.InvalidTestClassError: Invalid test class 'jpabook.jpashop.MemberRepositoryTest' 에러...

작성

·

1.9K

0

안녕하세요~

아래와 같이 계속 오류가 발생하고 있는데,,, 해결 방법이 있을까요??

org.junit.runners.model.InvalidTestClassError: Invalid test class 'jpabook.jpashop.MemberRepositoryTest':

  1. The class jpabook.jpashop.MemberRepositoryTest is not public.

  2. Test class should have exactly one public constructor

MemberRepositoryTest.java

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.annotation.Rollback;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;

import javax.persistence.EntityManager;

@RunWith(SpringRunner.class)
@SpringBootTest
class MemberRepositoryTest {

@Autowired MemberRepository memberRepository;

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

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

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

}


}

gradle 설정 (강의자료 그대로 copy)

plugins {
id 'org.springframework.boot' version '2.4.1'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'
}
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-validation'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
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"
}
}
test {
useJUnitPlatform()

}

비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

답변 2

1

임경호님의 프로필 이미지
임경호
질문자

public 선언이 누락되었네요 ^^;; 해결했습니다.

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

경호님 스스로 잘 해결하셨습니다^^

ㅔpublic 어디 말씀ㅎㅏ시는 건가요?

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

class MemberRepositoryTest <- 클래스 선언에 public이 빠졌습니다.

감사합니다.

0

감사합니다 ~~

임경호님의 프로필 이미지
임경호

작성한 질문수

질문하기