• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

21.07.07 01:29 작성 조회수 1.69k

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

임경호님의 프로필

임경호

질문자

2021.07.07

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

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

김형민님의 프로필

김형민

2022.07.15

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

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

감사합니다.

0

유현욱님의 프로필

유현욱

2022.09.17

감사합니다 ~~