본문 바로가기

기술지식/테스트 코드3

React Hooks Testing에 사용하는 함수들 *패키지 : @testing-library/react-hooks renderHook()커스텀 훅의 동작을 독립적으로 테스트하는 함수이다.renderHook() 함수에 커스텀 훅을 호출하는 코드를 콜백함수로 넘기면 result 속성을 담고 있는 객체를 반환한다. 이 result 객체는 current 속성을 갖는데, result.current를 통해 해당 훅의 반환값에 직접 접근할 수 있다.const { result } = renderHook(() => useCustomHook()); act() 함수와 함께 사용하여 비동기 작업을 테스트할 수 있다.act()act() 는 함수를 인자로 받는데, 이 함수를 실행시켜서 가상의 DOM에 적용하는 역할을 한다.이 함수는 상태를 변경한다. 따라서 act() 로 감싸주.. 2025. 2. 14.
TDD 방법론 🫧  TDD란 Test-Driven-Development로, '테스트 주도 개발'이라고 한다.1. 빨강 - 실패하는 테스트 코드를 작성한다.2. 초록 - 빨리 테스트가 통과하게끔, 실제 코드를 작성한다.3. 리팩토링 - 테스트의 빠른 통과를 위해 구현한 실제 코드를 리팩토링한다. (중복제거, 일반화 등) 빨강 단계 전까지 실제 코드를 작성하지 않아야하며, 이후 실패하는 테스트를 통과할 정도의 최소의 실제 코드를 작성해야한다.빨강 단계에서, 실패하는 이유를 보고(로그 분석) 다음 단계에 어떻게 진행할지 방향을 잡을 수 있다.  🫧 TDD를 하는 이유 보통의 개발 방식은 요구사항 ➡️ 분석 ➡️ 설계 ➡️ 개발 ➡️ 테스트 ➡️ 배포 형태의 개발 주기를 갖는다.하지만 이는 개발을 느리게 할 위험을 가진다.. 2024. 11. 7.
[Jest] 프레임워크 사용 방법 Jest 라이브러리 설치npm i -D jest test 스크립트 수정package.json 파일에서 test 스크립트를 jest로 수정해준다."scripts": { "test": "jest" }, 이제 Jest가 .test와 .spec이 포함된 파일을 탐지하여 실행한다. 기본 테스트 형태test("테스트 설명", () => { expect("검증 대상").toXxx("기대 결과");}); toXxx : Test MatchertoBe: 숫자나 문자와 같은, 객체가 아닌 기본형(primitive)값을 검증할 때toEqual: 객체 검증toBeTruthy: 검증 대상이 truthy (true로 간주되는 값. ex.1)이면 테스트 통과toBeFalsy: 검증 대상이 falsy (false로 간주되는 값.. 2024. 11. 4.