본문 바로가기

TDD2

넌 못지나간다! Test가 실패했으면 배포도 되면 안되지! 프로젝트를 진행하고 수많은 테스트 코드가 쌓여 프로덕션 코드가 완성되게 됩니다. 그러나 어디까지 테스트는 개발자가 직접 거쳐줘야 하는 단계이고 자동화 되지 않은 절차는 쉽게 잊혀질 수 있고, 여러 이유를 대며 건너 띌 수 도 있습니다. 이를 방지하기 위해 여러가지 제약조건을 걸어두면 습관처럼 만들 수 있을 것입니다. 실패하는 테스트가 있다면, 배포 실패 Github에서 제공해주는 Github Action을 이용해 CI/CD를 구축할 수 있습니다. action에 대한 설정은 yml로 되어있고 아래 예시는 main 브랜치에 push가 일어났을 때, spring-tdd 디렉토리에서 gradlew build를 수행합니다. gradle build에는 test가 호출되기 때문에 실패하는 테스트 케이스가 있다면 Wo.. 2021. 5. 6.
TDD.. 테스트 코드는 습관이에요! 인터넷에 테스트 코드의 장점을 검색해보면, 안정성을 높인다. side-effect를 줄인다. 마음의 평화가 찾아온다. 등 생산성을 매우 높여준다고 합니다. 하지만 저도 아아 그렇구나 테스트 코드는 좋은거구나.. 하고 신나게 개발만 했습니다. 물론 테스트 했죠. 디버깅하면서 전체 시나리오 테스트를요... 그런데 생각해봅시다. 우리는 소프트웨어라는 제품을 만들고 있는데, 제품을 만들 때 테스트를 안한 부품을 믿고 사용 할 수 있을까요? TDD를 공부하면 만나는 키워드가 있습니다. 그건 바로 F.I.R.S.T인데, F.I.R.S.T 원칙을 지키면서 단위테스트를 작성하면 좋은 테스트를 만들 수 있다고 합니다. 프로그래밍 패러다임은 이런 단어로 뜻 만드는 걸 좋아하는거같아요. SOLID라던가.. ACID라던가.... 2021. 4. 2.