인프런 커뮤니티 질문&답변
테스트 환경에서 insert문이 짤리는 현상
작성
·
366
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
회원 도메인 개발 -> 회원 기능 테스트 단원에서 회원가입 기능을 공부하는 부분에서 생긴 문제점입니다.
제 테스트를 실행하면 insert문이 보이지 않습니다.
코드는 이렇습니다.
package jpabook.jpashop.service;
import jpabook.jpashop.domain.Member;
import jpabook.jpashop.repository.MemberRepository;
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;
import static org.junit.Assert.*;
@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional
public class MemberServiceTest {
@Autowired
MemberService memberService;
@Autowired
MemberRepository memberRepository;
@Autowired
EntityManager em;
@Test
@Rollback(value = false)
public void 회원가입() throws Exception{
//give
Member member = new Member();
member.setName("kim");
//when
Long saveId = memberService.join(member);
//em.flush();
//then
assertEquals(member, memberRepository.findOne(saveId));
}
@Test
public void 중복_회원_예외() throws Exception{
//give
//when
//then
}
}
다른 문의 글들의 기본 문제점이 yml 문제여서 혹시 몰라 저의 yml도 첨부해봤습니다.(강사님께서 올려주신 yml을 그대로 복붙해도 insert문은 안 생깁니다)
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칸
# 파라미터 쿼리 로그 남기는 옵션
org.hibernate.type: trace #띄어쓰기 2
+
하루 종일 문제점을 찾다보니까 이상한 현상을 발견했습니다.
제 로그가 부분적으로 잘리는거 같습니다.
실행을 하다가 로그창이 깜빡하다가 최종화면에서 insert문이 지워집니다.빨간색 부분을 보면 insert가 있는데 최종적으로 실행하면 이 부분이 로그에서 짤립니다.
보시면 ctrl + f를 사용해서 insert를 검색하면 안나옵니다.
교재기준 차이점은 test/resouce/application.yml을 추가 안한것인데 강의에서는 추가가 안되있어서 제외하였습니다.
어떻게 하면 로그가 안사라지게 할 수 있을까요..?






있습니다 ㅠㅠ 감사합니다 ㅠㅠ
구글링 해도 키워드가 애매해서 안나오고 강사님꺼랑 디버깅 설정 틀린거 없나 엄청 찾다가 하루 갔는데 드디어 해결했네요 ㅠㅠ
개념적으로 잘못이해한거 같지도 않아서 너무 힘들었는데 감사합니다 ㅠㅠ