Frontend/Jest

    Mocking, 가짜 레파지토리, 함수 만들기

    Mocking, 가짜 레파지토리, 함수 만들기

    Mocking이란 테스트에서 실제 객체나 함수 대신에 가짜 객체나 함수를 사용하는 기법을 말한다. 주로 테스트 환경을 제어하고, 특정 상황을 시뮬레이션하며, 테스트의 정확성을 보장하기 위해 사용된다. Mock 란 가짜 함수의 실행, 가짜 클래스의 실행이다.  Mocking의 주요 목적 TypeORM에서 진짜 유저 Repository를 불러오지 않고 유저 서비스를 단독으로 테스트하기 위해서이다. 의존성 제거: 테스트할 코드가 외부 시스템(예: 데이터베이스, API)과 상호작용할 때, 실제 시스템에 의존하지 않고 가짜 객체를 사용하여 독립적으로 테스트할 수 있다.예측 가능한 결과: 가짜 객체나 함수의 동작을 명확하게 정의함으로써, 테스트 결과를 예측하고 일관되게 유지할 수 있다.테스트의 안정성 향상: 외부 ..

    Jest로 단위 테스트 코드를 구현할 때 자주 사용되는 API

    Jest로 단위 테스트 코드를 구현할 때 자주 사용되는 API

    Jest로 단위 테스트 코드를 구현할 때 자주 사용되는 API describedescribe('User Service', () => { // 여기서 User Service와 관련된 테스트 케이스를 작성합니다.});테스트할 대상에 대한 설명을 작성하는 데 사용한다. 그룹화된 테스트 케이스를 설명하여 어떤 기능이나 모듈을 테스트하고 있는지 명확하게 나타낸다.   하나의 테스트 케이스를 test()라고 한다면 describe()는 여러 개의 테스트 케이스를 하나의 그룹으로 묶어주는 역할을 한다. itit('should create a new user', () => { // 새로운 사용자가 생성되는지 테스트하는 코드}); 개별적인 테스트 케이스를 나타내며, 특정 상황이나 조건에서 코드가 어떻게 동작하는지 테..

    Jest 란

    Jest 란

    Jest는 Facebook에서 개발한 JavaScript 테스트 프레임워크로, JavaScript 코드의 정확성을 검증할 수 있도록 테스트 코드를 작성하는 데 도움을 준다.  유닛 테스트: 개별 함수나 모듈을 테스트하여 특정 입력에 대해 예상한 출력이 나오는지 확인할 수 있다.스냅샷 테스트: UI 구성 요소의 출력이 이전 실행과 동일한지 확인한다. 이 기능은 특히 React 같은 UI 라이브러리에서 유용하다.비동기 코드 테스트: Promise나 async/await를 사용한 비동기 코드를 쉽게 테스트할 수 있다.모의 객체 (Mocking): 의존성을 모의 객체로 대체하여 테스트할 수 있다. 이는 외부 API 호출이나 데이터베이스 접근과 같은 테스트하기 어려운 부분을 모의하여 테스트할 수 있게 해준다.테스..