해시 함수의 유닛테스트를 위해 테스트 코드를 짜고 있던 중,
SyntaxError: Cannot use import statement outside a module
를 만나버렸습니다. 😈
typescript를 이용하고 있었기 때문에 javascript로 트랜스파일링이 필요함에도, 테스트를 즉시 실행시켜 오류가 발생한 것이었습니다.
추가적으로 import문은 ES6에서 새로 도입된 키워드이기 때문에 jest가 해당 문법을 이해하지 못한 것입니다.
jest.config.ts 에서 아래와 같이 ts-jest 프리셋을 등록해주었습니다.
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
transform: {
'^.+\\.ts?$': 'ts-jest',
},
transformIgnorePatterns: ['<rootDir>/node_modules/'],
};
성공적으로 돌아갑니다.