본문 바로가기
728x90
반응형

test12

[React] Jest에서 호출되는 함수 mocking 하기 안녕하세요. J4J입니다. 이번 포스팅은 jest에서 호출되는 함수 mocking 하는 방법에 대해 적어보는 시간을 가져보려고 합니다. Jest에서 Mocking이 필요한 이유 mock이란 번역을 했을 때 확인할 수 있는 것처럼 모조품, 가짜라는 의미를 가지고 있습니다. 그래서 mocking이라는 것은 mock 데이터를 활용하는 것으로 해석해볼 수 있으며 주로 테스트 케이스를 작성할 때 mock 데이터를 활용하여 테스트 코드를 작성하는 것을 의미합니다. jest에서 mock 데이터가 필요한 이유는 간단합니다. jest에 의해 테스트될 수 있는 다양한 모듈 및 컴포넌트들에는 다양한 함수들이 존재할 수 있고 한 가지의 함수가 올바르게 동작되는지 테스트할 때 함수에 의존된 여러 가지 함수들이 실행될 수도 있습.. 2024. 1. 20.
[React] Jest에서 path alias 적용하기 안녕하세요. J4J입니다. 이번 포스팅은 jest에서 path alias 적용하는 방법에 대해 적어보는 시간을 가져보려고 합니다. Path Alias 설정이 필요한 경우 일반적으로 react를 활용하여 개발할 때 path alias를 사용하는 경우는 상대 경로 대신 절대 경로를 활용하기 위해서입니다. 그래서 path alias를 적용하고 있는 프로젝트 같은 경우는 이를 위한 설정 값들을 적용해 둔 경우가 존재하는데 typescript를 활용하시는 분들은 보통 다음과 같이 tsconfig.json에 설정되어 있을 확률이 매우 높습니다. { "compilerOptions": { "paths": { "@/*": ["./src/*"] // path alias 설정 (./src 경로의 하위 경로를 표현할 때 ./.. 2024. 1. 18.
[React] Jest에서 render 커스텀하여 전역 wrapper 설정하기 안녕하세요. J4J입니다. 이번 포스팅은 jest에서 render 커스텀하여 전역 wrapper 설정하는 방법에 대해 적어보는 시간을 가져보려고 합니다. Jest에서 발생될 수 있는 render 이슈 jest를 이용하여 개발한 컴포넌트를 테스트할 때 발생될 수 있는 간단한 이슈에 대해 먼저 얘기해 보겠습니다. 예를 들어 recoil을 사용하고 계시다면 index 또는 main 파일에 recoil 사용을 위한 설정을 다음과 같이 해야만 합니다. // src/main.tsx import React from 'react'; import ReactDOM from 'react-dom/client'; import { RecoilRoot } from 'recoil'; import App from './App.tsx'.. 2024. 1. 14.
[Next] Next13 이후로 MSW 사용하기 (2) - Node 환경 설정 안녕하세요. J4J입니다. 이번 포스팅은 next13 이후로 msw 사용하기 두 번째인 node 환경 설정하는 방법에 대해 적어보는 시간을 가져보려고 합니다. 이전 글 [Next] Next13 이후로 MSW 사용하기 (1) - Browser 환경 설정 관련 글 [React] MSW로 API Mocking 하기 (1) - MSW란? [React] MSW로 API Mocking 하기 (3) - Node 환경에서 사용하기 들어가기에 앞서 들어가기에 앞서 msw가 무엇이고 msw에서 말하는 node 환경이 무엇인지는 위의 관련 링크를 참고해 주시면 됩니다. 해당 글에서는 next에서 msw node 환경 사용을 위한 설정 방법에 대해서만 다루도록 하겠습니다. Node 환경 설정 방법 [ 1. 패키지 설치 ] 현.. 2024. 1. 8.
[Next] Jest 사용 환경 설정하기 안녕하세요. J4J입니다. 이번 포스팅은 jest 사용 환경 설정하는 방법에 대해 적어보는 시간을 가져보려고 합니다. Jest 사용 환경 설정 방법 환경 설정을 하기 전 현재 개발하고 있는 프로젝트 환경이 어떻게 구성되어 있느냐에 따라 저와 같이 수행하더라도 정상 동작이 되지 않을 수 있습니다. 이번 설정에서 구성되는 기본적인 프로젝트 환경은 next cli를 이용하여 typescript 환경을 구축한 것을 기반으로 할 예정이기에 글을 보실 때 참고해 주시면 될 것 같습니다. 또한 일반적으로 next에서 jest를 사용하시는 경우 컴포넌트에 대한 테스트도 함께 수행하실 것이기 때문에 jest를 설정하면서 testing-library도 함께 설정하도록 하겠습니다. [ 1. 패키지 설치 ] $ npm ins.. 2024. 1. 4.
[React] Jest로 테스트 커버리지 확인하기 (2) - 커버리지 비율 한계점 안녕하세요. J4J입니다. 이번 포스팅은 Jest로 테스트 커버리지 확인하는 방법 마지막인 커버리지 비율 한계점에 대해 적어보는 시간을 가져보려고 합니다. 이전 글 [React] Jest로 테스트 커버리지 확인하기 (1) - 개념과 설정 방법 커버리지 비율 한계점이란? 커버리지 비율 한계점은 커버리지 동작을 위해 수집된 코드들에서 테스트 코드로 동작되는 코드들의 비율이 충족되어야만 하는 기준치를 의미합니다. 이전 글을 확인해 보시면 커버리지 비율 한계점을 설정하기 위해서는 jest.config.js에서 coverageThreshold 값을 활용하면 가능했었고, 설정되는 값들에는 statements, branches, functions, lines와 같이 총 4가지가 있는 것을 볼 수 있었습니다. 이번 글.. 2023. 11. 20.
[React] Jest로 테스트 커버리지 확인하기 (1) - 개념과 설정 방법 안녕하세요. J4J입니다. 이번 포스팅은 Jest로 테스트 커버리지 확인하는 방법 첫 번째인 개념과 설정 방법에 대해 적어보는 시간을 가져보려고 합니다. 테스트 커버리지란? 테스트 커버리지는 테스트 케이스가 작성된 소스 코드 범위를 의미하는 것으로 실제 기능 동작을 위해 작성된 다양한 코드들이 테스트 코드로 얼마나 작성이 이루어졌는지 확인하도록 도와줍니다. 그리고 React에서 테스트 커버리지를 확인해보고 싶을 때 사용해 볼 수 있는 대표적인 라이브러리로 Jest가 존재합니다. 많은 개발자 분들이 테스트 코드를 작성하기 위해 Jest를 사용하고 계실 것이고, Jest를 사용하고 계시는 중이라면 간단하게 테스트 커버리지를 적용해 볼 수 있습니다. 만약 Jest 설정이 필요하신 분들은 다음 글들을 참고하시면.. 2023. 11. 16.
[React] MSW로 API Mocking 하기 (5) - Cypress에서 사용하기 안녕하세요. J4J입니다. 이번 포스팅은 MSW API Mocking 하기 마지막인 Cypress에서 사용하는 방법에 대해 적어보는 시간을 가져보려고 합니다. 이전 글 [React] MSW로 API Mocking 하기 (1) - MSW란? [React] MSW로 API Mocking 하기 (2) - Browser 환경에서 사용하기 [React] MSW로 API Mocking 하기 (3) - Node 환경에서 사용하기 [React] MSW로 API Mocking 하기 (4) - Storybook에서 사용하기 설정 방법 Cypress에 MSW를 적용하기 위해서는 Cypress를 사용할 수 있는 환경과 MSW Browser 환경 설정이 되어 있어야 합니다. 만약 각 환경 구축이 필요하신 경우 다음 글들을 참고.. 2023. 10. 24.
[React] MSW로 API Mocking 하기 (1) - MSW란? 안녕하세요. J4J입니다. 이번 포스팅은 MSW로 API Mocking 하기 첫 번째인 MSW가 무엇인지에 대해 적어보는 시간을 가져보려고 합니다. MSW란? MSW는 Mock Service Worker의 약자로 Service Worker를 활용하여 API 요청을 Mocking 하도록 도와주는 라이브러리입니다. Mocking을 한다는 것은 단어의 의미대로 실제 값을 활용하는 것이 아닌 허구의 값이 사용되도록 만드는 것이고, API 요청을 Mocking 하도록 도와주기 때문에 API 처리에 대한 결괏값을 허구의 값으로 만들 수 있도록 도와줍니다. MSW를 사용하지 않을 경우 API 요청에 대한 Mocking을 하기 위해 다른 여러 방법들이 활용될 수 있습니다. 예를 들면 Mocking 처리를 위한 서버를 .. 2023. 10. 8.
[React] Vite 타입 스크립트 프로젝트에 Jest 사용 환경 설정 안녕하세요. J4J입니다. 이번 포스팅은 Vite 타입 스크립트 프로젝트에 Jest 사용 환경 설정하는 방법에 대해 적어보는 시간을 가져보려고 합니다. 관련 글 [React] Vite 사용하기 Jest 사용 환경 설정 Jest를 이용하여 테스트 케이스를 작성하는 경우는 여러 가지 존재합니다. Jest 내부에서만 작성되어 테스트하는 경우, 정의해 둔 모듈을 로드하여 테스트하는 경우, HTML element까지 접근하여 테스트하는 경우 등이 있습니다. 내부에서만 작성하는 경우부터 HTML element까지 접근하는 경우까지 점점 갈수록 더 많은 설정들이 필요한데, 일반적으로 React에서 Jest를 활용하는 경우 HTML element까지 접근하여 사용하기 때문에 이번 글에서는 한 번에 모든 설정을 해보겠습.. 2023. 10. 6.
[React] Jest로 테스트할 때 비동기 처리하기 안녕하세요. J4J입니다. 이번 포스팅은 Jest로 테스트할 때 비동기 처리하는 방법에 대해 적어보는 시간을 가져보려고 합니다. 비동기 처리하는 경우 Jest에서 비동기 처리하는 경우는 빈번하게 발생됩니다. 단순한 예시를 들면, 하나의 페이지에서 화면에 보이고 싶은 데이터를 가져오기 위해 API 요청을 하게 되고 전달받은 데이터들이 화면에 올바르게 보이고 있는지 확인해 볼 때 비동기 처리가 필요합니다. 예시를 기반으로 간단하게 소스를 작성해보면 다음과 같습니다. import axios from 'axios'; import { useEffect, useState } from 'react'; interface Person { name: string; position: string; } export defau.. 2023. 10. 5.
[React] 사용해본 yup 조건절 정리 안녕하세요. J4J입니다. 이번 포스팅은 제가 사용해본 yup 조건절들을 정리해보는 시간을 가져보려고 합니다. 들어가기에 앞서 yup과 함께 react-hook-form을 이용하여 코드가 작성되어 있다는 점 참고 부탁드립니다. Base - 1 먼저 가장 기본이 되는 조건절입니다. 간단한 예시로 다음과 같은 코드를 작성할 수 있습니다. import * as React from 'react'; import { useForm } from 'react-hook-form'; import * as yup from 'yup'; import { yupResolver } from '@hookform/resolvers/yup'; interface Iform { displayYn: string; displayContent:.. 2022. 8. 11.
728x90
반응형