LoginSignup
5
0

TypeScript + Jest「SyntaxError: Cannot use import statement outside a module」の直し方

Posted at

Jestを学び始めていざテスト実行した時にエラーになってしまったので直し方を備忘録として残しておきます!

今回遭遇したエラーは以下のエラーです。

SyntaxError: Cannot use import statement outside a module

エラーの原因は、sum.test.tsにsum.tsをimportしたことによるエラーのようです。

エラーはtestの実行時に発生しました。

scriptの実行コマンドは以下の通りです。

package.json
{
"scripts": {
    "test": "jest"
  }
}

原因は下記の記事にわかりやすく記載されてました!

sum.ts
export const sum = (a: number, b: number) -> a + b;
sum.test.ts
import { sum } from './sum';

test('1 + 2 equals 3', () => {
  expect(sum(1, 2)).toBe(3)
});

エラーは、import { sum } from './sum';の箇所で起こってました。

jest.config.jsを作って下記の記述記載することでエラーを解消することができました!

jest.config.js
module.exports = {
  preset: 'ts-jest',
  transformIgnorePatterns: ['/node_modules'],
};

テストを実行すると下記のようになり無事テストがpassedになりました。

> jest@1.0.0 test
> jest

 PASS  src/scripts/tests/sum.test.ts
  ✓ 1 + 2 equals 3 (2 ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        2.293 s
Ran all test suites.

引き続きテストをかけるように精進します!

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0