Testing 3

[Jest] 테스팅도구 - Jest란?

Jest Jest는 자바스크립트 및 타입스크립트 애플리케이션을 테스트하기 위해 설계된 테스트 프레임워크이다. Facebook에서 개발한 Jest는 특히 리액트에서 시작해 점차 nodeJs, Vuejs, angular, NestJS 등 다양한 환경에서 사용되고 있다고 한다 !  *Jest의 기본 구성요소  1.  테스트  suite describe('UserService', () => { // 테스트 케이스가 여기에 작성됩니다.});=> Jest에서는 describe 블록으로 테스트 스위트를 정의함. 2. 테스트 케이스  it('should return the correct user', () => { expect(userService.findUserById(1)).toEqual({ id: 1, ..

Testing/Jest 2024.12.01

[Test] Testing 종류 : Unit Testing, Integration Testing, End to End Testing

애플리케이션 개발에 있어서 테스트는 매우 중요한 역할을 한다. 코드의 품질을 보장하고, 예상치 못한 오류를 사전에 예방하는데 도움을 준다. 테스트를 수행하는 방법에는 여러가지가 있으며,  그 중 대표적으로 Unit Testing, Integration Testing, End-to-End Testing이 있다. 각 테스트는 목적과 범위가 다르며, 적절하게 조합하여 사용하면 굿 !  1. Unit Testing (단위테스트) - 가장 작은 코드 단위에 초점을 둔다. 함수, 메서드, 클래스를 독립적으로 테스틑 하는 방법으로 유닛테스트의 핵심은 외부 의존성을 제거하고, 테스트 대상의 코드만을 집중적으로 검증하는 것이다 !  예를 들어,  데이터베이스나 외부 api와 같은 의존성을 Mock(가짜 객체)나 Stub..

Testing/Jest 2024.11.30

[Test] Mock, Stub, Fake : 테스트의 세가지 핵심 개념

테스트 코드 작성에 대한 공부를 하다보면 Mock, Stub, Fake 라는 용어를 자주 접하게 된다.이들은 모두 테스트할 때 의존성을 해결하기 위해 사용되며,  특히 외부 디펜던시( 데이터베이스, 로깅 등..)를 테스트 환경에서 대체하기 위해 활용된다 !  *왜 의존성을 대체하는 객체를 사용하는가 ?  -> 테스트를 작성할 때, 실제 의존성을 그대로 사용하는 방법도 있지만,  테스트 실행 속도가 느려지고 테스트가 의존성에 취약해질 가능성이 있다 !  (예를들어,, 데이터베이스에 연결된 테스트는  네트워크 상태나 데이터베이스 상태에 따라 결과가 달라질 수 있는.....) 따라서 의존성을 제거하고, 대체 객체를 사용해서 안정적인 테스트 환경을 구성하는 것이 중요함.  * Mock & Stub & Fake ..

Testing/Jest 2024.11.28