![[인프런 워밍업 클럽_3기 백엔드 프로젝트]2번째 발자국](https://cdn.inflearn.com/public/files/blogs/67a6eee4-7403-4ea6-8b58-df72474ee6f8/336111.jpg)
[인프런 워밍업 클럽_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의 메서드의 이름에 오타가 나있었던 것.
댓글을 작성해보세요.