[ Test 절차 ]
1. 테스트 하려면 모듈화가 필요하다. 2. 테스트는 격리되어 있어야 함! → 격리된 테스트는 개발 중에 한다. (격리해서 테스트) 격리해서 테스트 할 때에는 가짜 데이터 (더미 데이터)를 넣어서 해본다 3. 테스트는 완벽하게 모든 예외들을 테스트 해봐야 한다. 잘 안된 경우들도 전부 테스트 해야 함 (잘못된 값들을 넣어봐야 한다. 안 됐을 때 어떤게 return 되는지 try-catch로 잡아봐야 한다. 근데 모두 다 완벽하게 잡는 건 불가능 하니, 서비스할 때 유저를 통해 잡자) 4. 테스트가 다 끝나면 최종적으로 통합 테스트가 필요하다. (격리된 테스트들을 하나로 통합 해야한다) → 실제로 연결 시켜서 테스트 해야 함
모듈화의 목적 : 책임 분리 (고장났을 때 빠르게 찾기 위함)
[ 통합 테스트 ← TDD의 핵심 ]
return값 하나 때문에 유기적으로 잘못될 수도 있다. (side-effect 부작용) 때문에 통합테스트를 하면 유기적으로 잘못된 것들을 잡을 수 있다! 코딩은… 나비효과같은 것 .. 연쇄적... 내가 정말 간단한 것 하나 수정을 했는데, 이 나비효과 때문에 다른게 다 터져버릴 수 있다. 그러나 test에서 세모버튼 하나만 누르면 이 나비효과가 불러오는 미래를 미리 알 수 있다 -> 이 연관된 걸 어떻게 아나? **모든 팀원들이 테스트 코드를 다 짜놔야지** 이게 유기적으로 연결되어서 통합테스트를 할 수 있는 것. 통합 테스트는 팀의 문화가 되어야 한다!
Share article