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.
引き続きテストをかけるように精進します!