-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
단위 테스트는 통과하는데 전체 테스트를 통과를 못하고 있습니다
22.08.03 22:44 작성 조회수 266
2
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
@BeforeEach
void clean() {
writeRepository.deleteAll();
}
답변을 작성해보세요.
1
호돌맨
지식공유자2022.08.08
왜 인지 알것 같기도 하고 모를것 같기도하고..
github에 소스 올려주시면 제 컴터에서 실행 해보는 게 빠를것 같습니다.
올리신 뒤에 주소좀 알려주세영
호돌맨
지식공유자2022.08.12
답장이 늦어서 죄송합니다.
지금 함 돌려봤는데 왜 인지 알것 같습니다.
Write.java 엔티티를 보시면
strategy를 AUTO가 아닌 GenerationType.IDENTITY로 변경한 뒤 테스트 해보시겠어요?
그리고AUTO, IDENTITY가 어떤 걸 의미하는지, 그리고 각각 애플리케이션을 실행했을때 테이블이 어떻게 생성 되는지 h2 console에 들어가셔서 확인해보시면 좋을것 같습니다.
감사합니다.
1
sagara12
질문자2022.08.04
바쁘신데 감사드립니다
Write 엔티티 입니다.
테스트마다 TRUNCATE을 하는 클래스를 따로 구현 해서 @BeforeEach에 넣어서 해결 하려고 했는데 고쳐지지 않았습니다.
ALTER 쿼리에서 오류가 발생해서 검색 해본 결과
entityManager.createNativeQuery("TRUNCATE TABLE " + "write " + "RESTART IDENTITY").executeUpdate();
로 자동증가하는 컬럼값을 초기화 할 수 있다고 해서 적용해봤는데 변함이 없었습니다.
감사합니다.
1
호돌맨
지식공유자2022.08.04
안녕하세요. 호돌맨입니다.
질문을 남겨주셔서 감사합니다.
보내주신것만 봐서는 정확히 모르겠는데용,
Entity쪽도 같이 스크린샷 첨부해주실 수 있나요?
참고로 deleteAll() 같은 경우는 데이터를 초기화 하는것이지
primary_id값을 (1로) 초기화 시켜주지 않으며 계속 증가하게 됩니다.
답변 3