TIL

106일차(모험 15일차) - 테스트 코드

haedal-uni 2021. 12. 27. 23:43
728x90

오전 11시 Error

spring 강의를 듣고 test 코드를 실행했는데 에러가 떴다.

가장 처음에 뜨는 에러가 could not execute statement 라고 적혀있어서

이 부분에 대해 검색해보다가 H2 버전을 변경하여 다운로드하였고 재실행을 시키니

이번엔 could not prepare statement 라는 에러가 떴다.

 

이 에러는 해결방법이 뭔지 명확히 나온게 없어서 로그를 내려보다가

MEMBER라는 테이블이 없다고 나와있었다.

 

생각해보니 재 실행을 하면서 기존에 SQL문 작성한 것도 다 사라졌다는게 생각나서

다시 SQL문을 작성해 Table을 만들었더니 성공적으로 실행이 되었다.

 

그런데 application.properties에서 설정만 변경해도 실행이 되지 않았을까라는 생각이 들었다.

 

 

자세한 내용은 아래 링크를 참고한다.

106일차 - JPA(2)


오후 3시 단위테스트, 통합테스트 

@SpringBootTest 이게 붙으면 통합테스트로 알고 있는데 아닌가 하고 질문을 드렸었다.

 

103일차(모험 12일차) 흙 안먹는 delight입니다.

 

 

🅰️ : 

어노테이션이 붙으면 통합테스트라는 의미는 아니다.

통합테스트는 전체를 테스트 한다는 의미이고, 단위테스트는 부분별로 테스트 한다는 의미이다.

 

 

 

질문에 관한 답변을 오늘 받아서 추가적으로 이어서 질문을 드렸다.

 

 

 

제가 이전에 다른 강의를 통해서 단위 테스트와 통합테스트를 배웠다.

 

단위 - test 코드는 순수한 자바 코드로 작성된 코드
통합 - 스프링과 엮어서 작성된 코드왼쪽이 통합 오른쪽이 단위라고 하시더라구요


근데 그 차이가 어노테이션 말고는 없어서 그렇게 알고 있었는데
둘 다 단위인 건가 싶었다.

 

 

 

🅰️ : 

둘 다 단위테스트에 가깝다고 보면 된다.
실무에서 생각하는 통합테스트는 UI 부터 DB까지 사이트 전체를 테스트 하는 것이다.
단위테스트는 단위별로 테스트하는 것이다.

 

 

100일차(회원 서비스 테스트)

102일차(H2 실행, 순수 JDBC, 스프링 통합 테스트)


오후 5시 @Override

같은 코드인데 어떤 사람은 @Override를 안쓰고 어떤 사람은 @Override 쓰는걸봐서 검색을 해봤다.
써도 되고 안써도 되는데 오버라이드를 쓰는게 오버라이드를 했다고
알려주는 주석느낌으로 다는거라고 하는데 무조건 써야할까 궁금했다.

 

 

🅰️ :

쓰는게 좋다. 오버라이드 하는 부분이면 써줘야 한다.

그리고 이런 부분은 프로젝트에서 코드 컨벤션을 정해서 진행한다.

 

 

106일차 - 스프링 데이터 JPA


오후 9시 팀 프로젝트

팀원과 함께 로그인 페이지 html 정하기로 했다.

그런데 팀원이 오픈소스로 제공되는 css들이 적용이 안된다고 했다.

 

일단 디자인을 하나 정해놓고 코드를 보기로 했다.

팀원이 실행한 화면을 보니 빈 페이지로 배경색만 띄워졌다.

 

 

 

그런데 내가 적용을 해보니 실행이 잘 되었고 뭐가 문제였는지 code with me를 이용해

내 코드와 비교해서 살펴보니 아래 코드를 적지 않아 빈 페이지로 띄워지는 것이었다.

 

 

jquery 적용하기

<script src="https://code.jquery.com/jquery-3.5.1.js"></script>

 

 

위 코드를 적고 실행시키니 제대로 동작했다.

 


오후 11시 GitHub

로그인 페이지 부분 css를 수정해서 git에 올렸다. (front repo에 push했다.)

내일은 로그인 페이지 front와 backend를 연결하는 작업을 할 예정이다.

 

다음주에 이력서 첨삭과 모의 면접이 있는데 정신없는 한 주가 되지 않을까 싶다.

 

 

현재 구현한 회원가입 및 로그인 페이지

 

- 모험가 haedal

 

 

728x90