해당 글은 github goldbergyoni 님의 javascript-testing-best-practices 를 번역하여 작성한 글 입니다. 번역 과정중 오류가 있을 수 있으니 댓글을 통해 피드백 주시면 감사하겠습니다. Error를 catch 하지 말고 검증하라 일부 입력이 에러를 발생시키는 것을 검증할 때 try-catch-finally 문을 사용하여 catch 스코프에 들어왔을 때 assertion 을 수행하는 방법을 사용할 것입니다. 하지만 이는 테스트의 의도와 기대 결과를 쉽게 파악할 수 없게 만듭니다. 좀 더 우아한 대안은 테스트 프레임워크에서 제공하는 expect(method).to.thorw or expect(method).toThrow() 과 같은 one-line throw assert..
해당 글은 github goldbergyoni 님의 javascript-testing-best-practices 를 번역하여 작성한 글 입니다. 번역 과정중 오류가 있을 수 있으니 댓글을 통해 피드백 주시면 감사하겠습니다. 스냅샷 테스트를 할 때는 짧은 인라인 스냅샵만 사용하라 snapshot testing이 필요하다면 핵심 검증 사항에만 집중된 (3~7 라인) 짧은 snapshots 을 외부 파일이 아닌 테스트 코드 내에서 사용하는 것을 권장합니다. 이 가이드라인만 지킨다면 테스트가 쉽게 깨지지 않고 좋은 가독성을 유지할 수 있습니다. 반면에, '고전적인 스냅샷'의 튜토리얼이나 도구들은 스냅샷을 매우 크게 만들고 외부 파일로 저장하도록 유도하고 있습니다. 그리고 테스트가 실행될 때 마다 외부에 저장된 ..
올해는 이직준비와 토이프로젝트, GDG 활동 그외에 몇몇가지 일들로 인해 너무 바쁘게 지내는 바람에 해외여행을 하리라고 생각도 못하고 있었습니다. 그런데 어쩌다보니 저번주 주말 베이징에 다녀왔습니다. 1박 2일로.. Northeast Aisa GDG Summit 한국, 일본, 중국, 대만 등 아시아권 GDG 운영진들은 1년에 한번씩 중국에 모여서 여러 세션과 라이트닝 토크, 토론등을 통해 이야기를 나누고 경험을 공유할 수 있는 Northeast Asia GDG Summit 에 참여할 수 있습니다. 저도 이번 Northeast Asia GDG Summit 2019 에 참가하기 위해 베이징에 다녀오게 되었습니다. 원래 행사 일정은 금요일부터 일요일까지였고 월요일에 휴가를 쓰고 관광을 더 하다 오려고 했지만,..
해당 글은 github goldbergyoni 님의 javascript-testing-best-practices 를 번역하여 작성한 글 입니다. 번역 과정중 오류가 있을 수 있으니 댓글을 통해 피드백 주시면 감사하겠습니다. 적절하게 테스트 더블을 사용하라 테스트 더블은 테스트 코드를 편하게 작성할 할 수 있도록 해주는 도구 입니다. 하지만 어플리케이션 내부 구현 코드와 커플링 된다는 문제가 있기 때문에 남용하는 것은 권장하지 않습니다. 테스트 더블을 적절하게 사용하려면 요구사항 기능을 테스트하는대에 사용하는지를 고려하면 됩니다. 만약 요구사항 기능을 테스트하는대에 사용하는게 아니라면 해당 테스트는 화이트박스 테스트일 가능성이 높습니다. 예를 들어, 결제 서비스가 중단되었을 때 앱이 합리적으로 동작하는지를..
해당 글은 github goldbergyoni 님의 javascript-testing-best-practices 를 번역하여 작성한 글 입니다. 번역 과정중 오류가 있을 수 있으니 댓글을 통해 피드백 주시면 감사하겠습니다. 들어가며 우리는 평소에 소프트웨어 구현만을 위한 코드(Production code)만을 신경쓰고 있습니다. 따라서 기존에 익숙하지 않은 테스트 코드를 작성하는 대에 어려움과 거부감을 느끼게 되고 많은 분들이 포기하게 됩니다. 하지만 익숙하지 않음에도 불구하고 테스트 코드에 대한 작은 투자는 큰 가치를 얻을 수 있습니다. 하지만 과한 테스트보다는 필요한 만큼만 테스트하고, 빠른 테스트를 유지하기 위해 노력해야 합니다. 때로는 민첩성과 단순성을 위해 테스트를 포기하고 신뢰성을 낮추는게 더..