본문 바로가기

분류 전체보기

(104)
2023-12-04 오늘 및 주말 동안 한일은 다음과 같다. 1. ToDoServiceTest, CommnetServiceTest구현 및 ToDoControllerTest 구현 2. CommnetControllerTest, RepoSitoryTest, JwtutilTest 구현 1. 주말 동안 Service, Controller를 작성하면서 확실하게 어려웠던 부분은 Controller부분이었다. Service부분은 Repository와 연결이 돼있기 때문에 실제 값을 넣어서 테스트하기 위해서는 BDDMyOngoingStubbing에서 지원하는 given이나 OngoingStubbing에서 지원하는 when 같은 명령어를 통해 테스트 코드를 작성해야 하는데 둘 다 사용하지만 given이 더 현실감이 있어서 주로 사용했고 주로..
2023-12-01 오늘 한일은 다음과 같다. 1. 어제 문제였던 @Mock어노테이션이 적용이 안 됐던 이유 2. 테스트 코드 작성 1. 어제 문제였던 어노테이션 문제는 단순한 문제였다. @ExtendWith(MockitoExtension.class) class ToDoServiceTest { @Mock ToDoRepository toDoRepository; @InjectMocks ToDoService toDoService; @BeforeEach public void setUp() { MockitoAnnotations.initMocks(this); } } 어제 설정은 위의 코드 블록과 같다. 이렇게 선언을 했더니 Mock객체를 즉 가짜 객체를 생성하지 못하는 문제가 발생해서 테스트를 제대로 진행할 수 없는 상태가 됐는데 오..
2023-11-30 오늘 진행한 내용은 다음과 같다. 1. 테스트 케이스 과제 진행 오늘은 과제를 진행하면서 테스트 케이스에 대해서 처음 써봤다. ToDo과제를 진행하면서 Service부분부터 과제를 시작하려고 했는데 시작부터 진행이 막혔다. createCard부분테스트를 만들고 테스트를 진행하던 도중에 계속 CreateCard메서드 안에 Save메서드 가 나서 1시간동안 이부분을 해결하기 위해서 계속 찾아봤는데 다른 사람들은 테스트 클래스 내부에 필드값에 Repository를 선언할때 아래와 같이 선언했다. @Mock ToDoRepository toDoRepository 이렇게 선언을 하고 실행을 했더니 바로 아래와 같은 에러가 발생했다. 위의 에러를 수정해보려고 여러 블로그를 봤으나 원인을 찾지 못했다. 그러다가 원인을..
2023-11-29 오늘은 하루종일 강의를 수강한 날이다. 수강한 강의 내용은 다음과 같다. 1. 단위 테스트 및 Mockito, 통합테스트 1. Spring의 코드를 작성하다 보면 평소에는 PostMan으로 테스트 했지만 오늘 테스트에 관련된 강의를 수강했다. 있다는건 알고있었지만 막상 써본적이 없어서 오늘 듣는데 생각보다 많은 내용이 있었다. 단위 테스트란 작은 단위로 쪼개서 각 단위가 정확하게 동작하는지를 검사하는 테스트 기법이다. 단위 테스트는 빠르게 작성이 가능하고 문제 발생 시 어느 부분이 잘 못 되었는지를 빠르고 정확하게 확인할 수 있다는 장점이 있다. 자바 프로그래밍 언어 용 단위 테스트 프레임 워크인 Junit5를 다룬다. 강의 내용에서의 핵심은 Given - When - Then이였으며 다음과 같다. Gi..
Spring newsfeed project 1. 프로젝트 개요 2. 프로젝트 요구 명세서 3. 개발 인원 4. 개발 기간 5. 개발 언어 6. 개발 툴 및 환경 7. 프로젝트 소개 및 목표 8. 프로젝트 진행 고찰 9. 느낀점 10. GitHub URL 11. YouTube URL 1. 프로젝트 개요 스파르타 코딩클럽 내일 배움 캠프 Spring_3기 숙련 2주 차 팀프로젝트 과제 newsfeed 아이디어를 통한 서비스를 구상하여 각 포스트에 대하여 생성, 조회, 수정, 삭제 및 댓글 생성, 수정, 삭제와 좋아요, 팔로우 기능 등을 할 수 있다. JPA, Spring Boot로 서비스 구현 2. 프로젝트 요구 명세서 필수 구현 기능 [ ] 사용자 인증 기능 회원가입 기능 새로운 사용자가 ID와 비밀번호의 형태로 서비스에 가입할 수 있어야 합니다...
2023-11-28 오늘은 새로운 심화주차를 시작하는 날이며 오늘은 강의를 수강하면서 그냥 평범한 하루를 보냈다. 오늘 배운 내용은 소셜로그인에 관련된 내용을 배웠다. 소셜로그인은 우리가 웹사이트에서 로그인할 때 흔하게 보는 카카오나 네이버로 로그인이 가능한 것을 볼 수 있다. 이것은 사용자가 애플리케이션에게 모든 권한을 넘기지 않고 대신 서비스를 이용할 수 있게 해주는 HTTP 기반의 보안 프로토콜이다. 위 이미지는 카카오로 로그인하는 과정의 큰 흐름을 보여주는 이미지이다. 대표적인 내용을 이렇다고 할 수 있고 아직은 강의를 수강 중이다. 아직 강의 수강 초반이라 이해가 안 되는 것은 아니지만 뭔가 전체를 이해했다고 볼순 없을 것 같다. 또한 여러 프로젝트를 하다 보니 코트의 흐름이 조금씩 보여 강의 듣는데 거부감이 많이..
2023-11-27 오늘은 프로젝트 마감날이다. 오늘은 다른 거 없이 프로젝트 발표에 집중했으며 주말 동안 한 내용은 다음과 같다. 1. PostFile 테스트 2. 프로젝트 마무리 1. PostFile 전반적인 코드 구성은 완료하고 테스트를 진행하는 첫 관문에서 문제가 발생했다. s3에 파일을 입력하는 과정에서 파일이 하나만 저장되는 현상이 있었는데 찾아보니 파일을 리스트 체로 넘기는 과정에서 for문으로 파일리스트에 있는 파일 하나하나 이름을 생성할 때 randomUUID를 생성하는데 그것을 for문안에 넣어서 이름을 생성해서 하나하나 입력을 해줘야 하지만 다시 뒤적뒤적해 보니 밖에 있어서 하나만 저장되는 결과였다. 참으로 하찮은 실수를 했지만 해결해서 다행이었다. 다음은 s3에 있는 파일을 삭제할 때 발생하는 문제이다..
Spring newsfeed team project -KPT회고 내배캠 Spring_3기 A팀 3조 팀명: 봄봄봄 Keep 소통 중심의 프로젝트를 진행해서 좋았다. 프로젝트 진행 시 모르는 부분에 대해서 바로바로 피드백을 해결하는 과정이 매우 순조로웠다. 글로벌 exception 을 통해 예외 처리 하는 부분이 좋았다. 각자 Domain 을 하나씩 맡아서 진행하니 구조적으로 진행이 빨라져서 좋았다. 설계 ~ 배포까지 프로젝트의 모든 단계를 협업을 통해 성공적으로 완료해서 좋았다. 적절한 쉬는 시간 Problem 시도때도 없이 commit 날려 헤더가 어디있는지 모르는 상황. 정리하고 올리기 사고하지 않기, 유연한 남탓 - 구현은 가볍게, 테스트는 무겁게 오늘 할 일을 내일로 미루지 않기 - 개발에 대한 배경지식이 현저히 부족함(docker, redis, CI/CD 등..