<aside>
📌
참고 문서
https://www.youtube.com/watch?v=bIeqAlmNRrA
https://jaehoney.tistory.com/343
https://jojoldu.tistory.com/412
https://velog.io/@yeo___li/JUnit-왜-그리고-어떻게-써야돼
https://soeun2537.tistory.com/84
</aside>
테스트 하며 느낀 점
NsTest 라이브러리에서 자체적으로 Console.close()를 해주더라도 본인 프로그램에서 정상 종료 혹은 예외 종료 전 자원을 정리하고 프로그램 종료해야 함.
테스트의 좋은 점 : 누적되기에 구현이 적절하게 진행되고 있는지 확인이 가능함. 코드로 쳐보면서, 생각못한 경우를 생각할 수도 있음.
과제 하면서 느낀 점
Integer로 파싱할 때, 파싱과 검증을 분리하기가 어려워서 검증 단계에서 사용했던 값을 파싱에서 사용하기
Facts, Feelings, Findings, Future, Feedback
- Facts: 실제 일어난 일
- 검증과 테스트 작성에 시간을 너무 많이 썼다
- racing-car에서 몇 번 시도할 지에 대한 문자열(숫자로 이뤄짐)을 파싱할 때, MAX값 처리에 대해서 언제 검증을 할 지 문제가 있었음. 파싱(parseInt)하고 나서 검증을 하는데, 검증이 안 된 상태에서 파싱하면 에러가 나잖아. validator객체에서는 검증만 해야 하는데, 검증을 하려면 검증 후의 단계인 파싱을 해야하니..고민이 됐었다. → 그냥 검증 단계에서 파싱을 해서 검증하고, 검증할 때 사용했던 파싱값을 return 받는 식으로 구현했다.
- Feelings: 느낀 감정
- 객체지향적으로 프로그래밍 하는 것에 재미가 느껴진다.
- 뭔가 알 것 같은 느낌에 흥미가 생긴다.
- 이것저것 더 알고싶다.
- Findings: 배운 점
- 테스트 할 때 무엇을 명확하게 테스트 하는지 생각한 후에, 테스트가 실패하면 에러 메세지만 보면서 찾으려 하지말고, 너무 당연하지만, 이 테스트의 성공 상황이 뭔지 - 그 성공에 관련된 것이 뭔지 - 그 성공과 반대되는 일반적인 경우가 뭔지 생각을 해보자.
- 위에 넣어놓은 우아한테크세미나를 보면서 느낀게.. 오늘 내가 한 공부가 ‘테스트하기 쉬운 코드 - 테스트 하기 어려운 코드’에 대한 눈을 기르는 연습을 한 것 같다.
- Future: 앞으로의 계획
- 의식적으로 연습을 하는 게 중요하다고 하여, 시간을 내서 1주차, 2주차 계속해서 4일차 기록에 적었던 과정을 체화하려고 한다. 명확한 부분을 점진적으로 쌓아나가면 나중에는 버그가 없고, 어디서 에러가 나는지 확실히 알 수 있음을 느꼈다.
- Feedback: 다른 사람에게 주거나 받은 피드백
- 스스로에게 보내는 피드백 : 오늘같은 날을 지속하자.