강의

멘토링

커뮤니티

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

ㄷㅅ님의 프로필 이미지
ㄷㅅ

작성한 질문수

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

MemberRepositoryTest가 안됩니다(cannot find symbol

작성

·

1.1K

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.
 
java: cannot find symbol symbol: class MemberRepository location: class jpabook.jpashop.MemberRepositoryTest
 
라고 뜨며 TEST 가 되지 않습니다
 
MemberRepositoryTest
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.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;

import static org.junit.jupiter.api.Assertions.*;

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

@Autowired
MemberRepository memberRepository;

@Test
@Transactional
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
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'
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"
}
}
test {
useJUnitPlatform()
}
MemberRepository
package jpabook.jpashop;


import org.springframework.stereotype.Repository;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

@Repository
public class MemberRepository {

@PersistenceContext
private EntityManager em;

public Long save(Member member) {
em.persist(member);
return member.getId();
}

public Member find(Long id) {
return em.find(Member.class, id);
}
}

 
application.yml
spring: #띄어쓰기 없음
datasource: #띄어쓰기 2
url: jdbc:h2:tcp://localhost/~/jpashop #4
username: sa
password:
driver-class-name: org.h2.Driver
jpa: #띄어쓰기 2
hibernate: #띄어쓰기 4
ddl-auto: create #띄어쓰기 6
properties: #띄어쓰기 4
hibernate: #띄어쓰기 6
# show_sql: true #띄어쓰기 8
format_sql: true #띄어쓰기 8

logging.level: #띄어쓰기 없음
org.hibernate.SQL: debug #띄어쓰기 2
여기서는 띄어쓰기가 더 된거처럼 보이는데 datasource이하 네개가 같은 위치입니다
 
새벽부터 퇴근후까지 못해서 진도가 안나가네요 ㅠㅠ 도움 부탁드립니다..!

답변 1

1

안녕하세요. ㄷㅅ님, 공식 서포터즈 OMG입니다.

코드 내용에서는 문제가 안보이네요. 패키지 구조를 확인이 필요한데 아래와 같이 화면 캡쳐하여 올려주세요.


감사합니다.

ㄷㅅ님의 프로필 이미지
ㄷㅅ
질문자

원인 찾았습니다

repository 파일이 java 파일이 아니라 일반 파일..? 형태로 되어있더라구요

intelliJ 내 디렉토리에서는 다른것고 ㅏ같이 C 아이콘으로 되어있어 몰랐는데

 

디렉토리 폴더에서 확인하니 repository 파일만 다른 형태더라구요 ..!

ㄷㅅ님의 프로필 이미지
ㄷㅅ

작성한 질문수

질문하기