TWIL 2021-2 (4)

5802 단어 TWILTWIL

1. useMemo()


🔗 React Hooks Tutorial - 27 - useMemo Hook
🔗 React Hooks: useMemo 사용법

2. 테스트 케이스 작성하기와 문제 해결


SyntaxError: Cannot use import statement outside a module

// sum.js
export const sum = (a, b) => {
  return a + b;
};

// sum.test.js
import { sum } from "./sum";

test("return 3", () => {
  expect(sum(1, 2)).toBe(3);
});

jest 사용법을 sum함수로 간단히 익혔고 테스트 작동을 확인했다.

실제로 테스트하고 싶은 함수의 위치는 root/handleTask/controller.js이고, root/handleTask/__test__/testFunc.test.js를 생성하여 import 했더니 에러가 발생한다.

// testFunc.test.js
import { testFunc } from "../controller"

test("...", () => {
  expect(testFunc(...).toEqual(...);
});
// SyntaxError: Cannot use import statement outside a module

jest가 es6 import를 지원하지 않기 때문이라고 하여 공식 문서에 따라babal-jest도 설치해 보았지만 require를 사용해도 같은 에러 발생

controller.js 내에서 import하고 있는 파일들 때문인 것으로 파악되어 jest.config.js를 생성하고transformIgnorePatterns 프로퍼티를 추가하니 해결되었다.

// jest.congif.js
const rootDir = "../../../";

module.exports = {
  ...,
  transformIgnorePatterns: [`${rootDir}node_modules/...`],
  ...
}

🔗 transformIgnorePatterns | Jest

🔗 Jest로 기본적인 테스트 작성하기
🔗 Using Matchers | Jest

좋은 웹페이지 즐겨찾기