Cypress란 자바스크립트 E2E 테스트 프레임워크로 웹이 정상적으로 동작하는지 자동으로 테스트합니다. 또한 TDD(테스트 주도 개발)을 위한 도구이기도 합니다.
TDD = Test Driven Development 말그대로 테스트 주도 개발입니다.
어떤 기능에 대한 테스트를 먼저 만들고 이후에 테스트를 만족하도록 하는 기능을 만드는 식입니다.
우선 Jest
와 같은 React
에서 자체적으로 제공하는 테스트 프레임워크와 같은 경우는 어떠한 특정 시나리오에 맞춰 종단간 테스트를 진행하기에 제한되는 반면에 Cypress
는 처음부터 E2E
를 염두해 두고 출발한 모습입니다. 좋은 디자인의 대시보드를 갖추고 있어서, 누구든지 직관적으로 화면을 통해 테스트 결과를 확인할 수 있다는 장점이 있습니다.
또한 프로젝트를 개발할 때 테스트에 중점을 두고 개발하는 방식도 생각해볼 수 있습니다. 프로젝트 개발 과정의 각 단계마다 미리 테스트 문서를 작성해두면, 명령어 한 번으로 진행 과정을 파악해 볼수 있어서 개발 효율과 코드 품질 개선에 도움을 줄 수 있을 것이라고 생각합니다. 추가적으로 브라우저에서 랜더링하며 비디오나 스냅샷을 찍어주는 기능도 개발되었다고 하는데 이 내용도 같이 확인해 보면 좋겠습니다.