Community

Netflix에서 내부에서 사용하던 프론트엔드 테스트 프레임워크 SafeTest를 오픈소스로 공개했습니다. 보통 프론트엔드 테스트 도구는 Mocha, Jest나 React-testing 등 유닛테

Netflix에서 내부에서 사용하던 프론트엔드 테스트 프레임워크 SafeTest를 오픈소스로 공개했습니다. 보통 프론트엔드 테스트 도구는 Mocha, Jest나 React-testing 등 유닛테스트를 위한 도구들과 Cypress, Puppeteer, Playwright처럼 브라우저 자체를 그대로 사용하는 통합테스트를 위한 도구들로 나눌 수 있습니다. 이를 이용해서 테스트를 작성하다보니 유니테스트 도구들은 렌더링 대상이나 의존성있는 임포트 등을 조작할 수 있지만 실제 페이지와 제어할 수 없어서 한계가 있고 통합 테스트 도구는 페이지와 상호작용할 수 있고 다크모드 등도 활용할 수 있지만 코드의 내부를 제어할 수는 없는 문제가 있습니다. 이런 문제를 해결하기 위해 Netflix는 SafeTest라는 테스트 프레임워크를 만들게 되었고 SafeTest는 지연로딩을 활용해서 테스트를 실행하는 코드를 동적으로 페이지에 로딩 시켜서 Playwright로 실행되는 것이 주요 접근 방법입니다. 이렇게 하면 페이지를 띄우면서 테스트에 필요한 코드 조작이나 준비 작업을 할 수 있기 테스트를 위해 특정 함수나 컴포넌트를 오버라이딩할 수 있고 페이지와 브라우저의 상호작용도 쉽게 테스트할 수 있습니다. https://netflixtechblog.com/introducing-safetest-a-novel-approach-to-front-end-testing-37f9f88c152d

알림

알림이 없습니다