開発環境
- Visual Studio Code (Version: 1.85.1)
- Node.js: 21.5.0
- @types/jest: 29.5.11
- jest: 29.7.0
- ts-jest: 29.1.1
- ts-node: 10.9.2
- typescript: 5.3.3
問題:
- Jestを使用していました。
- テスト用のTypeScriptファイルからimportしようとすると、以下のエラーが発生しました。
SyntaxError: Cannot use import statement outside a module
at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1505:14)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 0.179 s
Ran all test suites.
解決法:
jest.config.ts
ファイルに preset: 'ts-jest'
を追加することで解決しました。
// jest.config.ts
import type { Config } from "jest";
const config: Config = {
preset: 'ts-jest',
// ...
};
※ts-jestがインストールされていない場合は、以下のコマンドでインストールする必要があります。
npm i -D ts-jest
以下のようにテストが通るようになりました。
$ npx jest
PASS __tests__/sum.test.ts
✓ 4と5を足すと9 (1 ms)
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 0.702 s
Ran all test suites.