Error

msw로 api 모킹하려는데!! '[Symbol.iterator]()' 메서드 에러

2023. 7. 7. 16:00
목차
  1. 에러 메시지
  2. 시도했던 방법
  3. 결과
  4. 해결방법

에러 메시지

'() => RestHandler<MockedRequest<DefaultBodyType>>[]' 형식에는 반복기를 반환하는 '[Symbol.iterator]()' 메서드가 있어야 합니다.
ts(2488)

에러 발생 상황

 이전에 두 프로젝트에서 msw 를 사용해보았기에 새로운 프로젝트에서도 가벼운 마음으로 msw 코드 작업을 시작하려는데!!! 딱 하고 저 에러 메시지에 막혀버렸다.

 

에러 발생 이미지 1

에러 발생 이미지 2

시도했던 방법

// 기존의 에러 코드 
export const worker = setupWorker(...organizationListHandler);

// 수정해본 코드
export const worker = setupWorker(organizationListHandler);

결과

이렇게 수정을 하니 화면도 정상 출력되고 콘솔 창에 에러도 없이 Mocking Enable 메시지가 출력되었다. 

하지만 같은 위치에(browser.ts 의 worker 선언부) 아래와 같은 에러 메시지가 출력되었다. 

'() => RestHandler<MockedRequest<DefaultBodyType>>[]' 형식의 인수는 'RequestHandler<RequestHandlerDefaultInfo, MockedRequest<DefaultBodyType>, any, MockedRequest<DefaultBodyType>>' 형식의 매개 변수에 할당될 수 없습니다.
ts(2345)

해결방법

한동안 뜸하다 했더니..

오타로 인한 에러였다..

// 에러 코드
import { rest } from 'msw'

export const handlers = () => [
  rest.post('/login', (req, res, ctx) => {
    const { username } = req.body

    return res(
      ctx.json({
        id: 'f79e82e8-c34a-4dc7-a49e-9fadc0979fda',
        username,
        firstName: 'John',
        lastName: 'Maverick',
      })
    )
  }),
]

// 해결
export const handlers = [
  rest.post('/login', (req, res, ctx) => {
    const { username } = req.body

    return res(
      ctx.json({
        id: 'f79e82e8-c34a-4dc7-a49e-9fadc0979fda',
        username,
        firstName: 'John',
        lastName: 'Maverick',
      })
    )
  }),
]

아무리 찾아도 안나와서 문득 혹시 어디서 오타가 난건가 싶어서 아무리 봐도 못찾아서, 

예시 코드 복붙해보니 바로 해결되서 좀 더 자세히 살펴보니 발견..

3시간을 허공에..

 

하나를 하더라도 제대로 하고 넘어가야 한다는 팀장님의 말씀을 곱씹게 된다.

코드를 이해하고 구현하는게 아니라 복붙, 문서에 의존하면서 구현에 급급하다보니 발생한 실수..

'Error' 카테고리의 다른 글

Error | 중첩된 객체(객체 안의 객체) 형태의 상태 onChange 함수 구현하기  (0) 2023.08.31
msw 에러 `serializeResponse.ts:14 Uncaught (in promise)14 TypeError: Failed to execute 'text' on 'Response'`  (0) 2023.08.09
typescript + jest 테스트 코드 에러 (Jest encountered an unexpected token)  (0) 2023.06.26
Firebase | 실시간 데이터 베이스(Realtime Database) COR 에러와 401 Unauthorized 에러  (0) 2023.06.05
Error | 'css' does not exist on type 'DetailedHTMLProps...' with new JSX  (0) 2022.08.22
  1. 에러 메시지
  2. 시도했던 방법
  3. 결과
  4. 해결방법
'Error' 카테고리의 다른 글
  • Error | 중첩된 객체(객체 안의 객체) 형태의 상태 onChange 함수 구현하기
  • msw 에러 `serializeResponse.ts:14 Uncaught (in promise)14 TypeError: Failed to execute 'text' on 'Response'`
  • typescript + jest 테스트 코드 에러 (Jest encountered an unexpected token)
  • Firebase | 실시간 데이터 베이스(Realtime Database) COR 에러와 401 Unauthorized 에러
3jun
3jun
3jun
3jun
3jun
전체
오늘
어제
  • 분류 전체보기 (95)
    • 프로젝트 (5)
    • Web (9)
    • JavaScript (19)
    • React (13)
    • 알고리즘 (31)
    • Git (3)
    • AWS (3)
    • TypeScript (3)
    • CS (2)
    • Error (6)
    • 회고 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 백준 온라인저지
  • 백준 js
  • airbnb style guide
  • 자바스크립트
  • react
  • 백준js
  • 유효성 로직
  • 프로그래머스 코딩테스트 js
  • 프로그래머스 js
  • 백준 알고리즘
  • state
  • this.props.history.push
  • 백준 코테
  • msw 에러
  • msw
  • 프로그래머스 코테
  • outer environment
  • 프로그래머스 코딩테스트
  • JavaScript
  • Promise

최근 댓글

최근 글

hELLO · Designed By 정상우.
3jun
msw로 api 모킹하려는데!! '[Symbol.iterator]()' 메서드 에러
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.