제목은 간단했던인데요.. 사실 문제가 발생하고 난 뒤로 한 한달동안 해결을 못하다가
그냥 우아하게 해결하기는 포기하고 무식하게 해결해봤습니다.
문제 상황을 이해하는게 조금 어려웠는데
제 모노레포 프로젝트의 구조는 다음과 같습니다.
root에 jest.config.js 와 jest.setup.js가 있는 구조인데
빌드 문제로 인해 각 하위 패키지들도 tsconfig.json을 가지고있습니다.
만약 하위 패키지에 tsconfig.json이 없다면 jest.setup.js를 적절히 탐색해서 타입에러없이 잘 수행하는데..
그렇다고해서 tsconfig.json을 없애면 빌드 결과물이 터져나갑니다.
결국 jest.setup.js를 임포트하지못하는게 문제이니 조금 덜우아하더라도
import { render, renderHook, screen } from '@testing-library/react';
import { useFunnel } from './use-funnel';
import '@testing-library/jest-dom';
import userEvent from '@testing-library/user-event';
import React from 'react';
expect(screen.getByTestId('first-step')).toBeInTheDocument();
이런 식으로 직접 jest-dom을 임포트하는 식으로 해결해줬습니다.
하하..
반응형
'testcode' 카테고리의 다른 글
프론트엔드 테스트코드를 작성하면서 했던 고민들 (6) | 2024.05.13 |
---|---|
cypress와 jest 를 함께 사용하려하면 conflict이 날 수 있다. (2) | 2023.11.24 |
jest --coverage 옵션을 통해 커버리지 확인하기 (1) | 2023.10.29 |
react-query, zustand test jest 환경설정 승리한 썰 푼다 (2) | 2023.10.26 |
[jest] jest에서 안쓰는 import가 있으면 테스트 에러를 내요.. (0) | 2023.08.02 |