依存のインストール
以下の3つをインストールします。
yarn add -D @types/jest jest ts-jest
設定ファイルを作る
以下はsrc/
以下のすべての.ts
または.tsx
ファイルをテストの対象にするという意味になる設定です。その時の環境に合わせてtestRegex
を書き換えることでいろんな環境に合わせれます。
module.exports = {
moduleFileExtensions: ['ts', 'tsx', 'js'],
transform: {
'^.+\\.tsx?$': 'ts-jest',
},
testRegex: 'src/.*(/__tests__/.*|.test).tsx?$',
};
テストを試す
適当にsrc/index.test.ts
辺りでこんなファイルを作ります。
test('test', () => {
expect(1).toBe(1);
});
そしてyarn jest
でテストが通れば完了です。
tsconfig.json を指定する
global['ts-jest'].tsConfig
に使いたいtsconfig.xxx.json
へのパスを渡すとその設定でテストを実行することができます。
module.exports = {
globals: {
'ts-jest': {
tsConfig: 'tsconfig.test.json',
diagnostics: true,
},
},
};
tsconfig の paths を jest でも効かせる
moduleNameMapper
を指定します。
module.exports = {
moduleNameMapper: {
foo: '/src/foo/src/index.ts'
}
};