🎁 모든 강의 30% + 무료 강의 선물🎁

[인프런 워밍업 클럽_3기 백엔드 프로젝트]2번째 발자국

[인프런 워밍업 클럽_3기 백엔드 프로젝트]2번째 발자국

지금부터는 실습 위주라 발자국을 자세하게 남기긴 힘들 것 같다.

데이터 베이스 초기화를 하여 데이터를 삽입을 하는 작업을 한다.

코틀린을 써본 적이 없어서 아직 너무 미숙하다. 그리고 뭐가 뭔진 잘 모르겠지만

지금 데이터를 넣을 때

mutableListof 라는 메서드를 이용하여 삽입하고 있다.

그리고 데이터를 삽입할 때

컬럼이 여러개일 경우

그 컬럼의 값이 안 들어가게 되면 오류가 난다.

값이 여러개 일 경우 mutableListof 를 사용하여 리스트화 해서

saveall 이라는 키워드를 사용해 값을 집어 넣는다.

saveall은 영속성으로 값을 집어 넣는 것이다.

실습을 하던 도중 Error creating bean with name '*': Invocation of init method failed

이 에러가 떠 인터넷에 찾아보다가 강의를 다시 들으며 오타를 낸 부분이 있나 찾아봤더니

skill부분에 project로 의존주입을 해서 에러가 난 거였다.

테스트 코드는 매우 중요하다.

인텔리제이는 테스트코드를 작성하기 매우 용이하다

테스트 패키지안에

코틀린 파일을 만든다

그리고 어노테이션을 @DataJpaTest 이것을 부착해준다.

@DataJpaTest은 필요한 기능들만 초기화해준다

롤백을 안해주면 다음 테스트에 영향을 미칠 수 있다

트랜잭션 어노테이션을 달아준다

@TestInstance(TestInstance.Lifecycle.PER_CLASS)

한번 만들어주고 클래스 단위로 돌아가게 해준다.

Assertions.assertThat(beforeInitialize).hasSize(0)

테스트 통과 실패여부를 알려주는 코드

테스트 코드 실행 후 실패 에러

defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Could not create query for public abstract long

확인해보니 httpinterfaceRepostory의 메서드의 이름에 오타가 나있었던 것.

 

댓글을 작성해보세요.


채널톡 아이콘