min
코드 리뷰 사이트 개인 회고 7일차 본문
<회고록>
오늘은 코드 리뷰 사이트를 만들면서 어려웠던 점들에 대해서 같이 이야기를 나눠볼려고 한다.
1. test code and tdd
이번에 코드 리뷰 사이트를 만들면서 가장 시간을 많이 든 부분은 디버깅이었다. 어떤 기능을 만들면 해당 기능이 정상적으로 작동하는지를 확인하기 위해서 일일히 테스트를 진행했던 것이 가장 시간이 많이 든 부분이었다. 그래서 나는 이번 기회에 테스트를 자동화할 수 있으면 좋을 거 같다는 생각이 들었다. 그래서 테스트 코드에 대해서 알아봤으며 테스트 자동화에 대해서 찾아보았다. 그래서 오늘은 테스트코드 작성과 tdd에 대해서 알아볼려고 한다. 먼저 tdd란 데스트 주도 개발이다. tdd의 흐름은 다음과 같다.
- RED : 실패하는 테스트 코드를 작성한다. (즉 내가 만들려고 하는 기능들에 대해서 미리 작성한다.)
- GREEN : 실패하는 테스트 코드를 성공하는 테스트 코드로 바꾼다. (즉 내가 만들려고 하는 기능들을 만든다.)
- REFACTOR : 성공한 코드를 리펙토링 한다.
즉 이런 식의 흐름을 거쳐서 테스트를 진행한다. 그렇다면 어떤 것들을 테스트 할까? 테스트를 하는 종류는 크게 2가지가 있다.
첫번째는 유닛테스트이다. 유닛 테스트는 말 그대로 작은 단위에 테스트를 의미한다. 예를 들면 다음과 같다.
- 컴포넌트가 잘 렌더링된다.
- 컴포넌트의 특정 함수를 실행하면 상태가 우리가 원하는 형태로 바뀐다
- 리덕스의 액션 생성 함수가 액션 객체를 잘 만들어낸다
- 리덕스의 리듀서에 상태와 액션객체를 넣어서 호출하면 새로운 상태를 잘 만들어준다.
두번째는 통합테스트이다. 통합 테스트는 말 그대로 큰 단위에 테스트를 의미한다. 예를 들면 다음과 같다.
- 여러 컴포넌트들을 렌더링하고 서로 상호 작용을 잘 하고 있다
- DOM 이벤트를 발생 시켰을 때 우리의 UI 에 원하는 변화가 잘 발생한다
- 리덕스와 연동된 컨테이너 컴포넌트의 DOM 에 특정 이벤트를 발생시켰을 때 우리가 원하는 액션이 잘 디스패치 된다
세번째로 테스트코드를 작성하는 방법은 내 코드를 보고 모르는 점이나 수정해야하는 점들은 알려주길 바란다.
https://github.com/helloworld442/coding-review-testcode-version
'프로젝트 회고' 카테고리의 다른 글
코드 리뷰 사이트 개인 회고 9일차 (2) | 2023.09.02 |
---|---|
코드 리뷰 사이트 개인 회고 8일차 (0) | 2023.08.31 |
코드 리뷰 사이트 개인 회고 6일차 (0) | 2023.08.27 |
코드 리뷰 사이트 개인 회고 5일차 (0) | 2023.08.27 |
코드 리뷰 사이트 개인 회고 4일차 (0) | 2023.08.27 |