はじめましょう
お気に入りのパッケージマネージャーを使用して Jest をインストールします。
- npm
- Yarn
- pnpm
npm install --save-dev jest
yarn add --dev jest
pnpm add --save-dev jest
2つの数値を加算する関数のテストを書くことから始めてみましょう。 まずsum.js
ファイルを作成します。
function sum(a, b) {
return a + b;
}
module.exports = sum;
その後、sum.test.js
というファイルを作成します。 このファイルに実際のテストが含まれます。
const sum = require('./sum');
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
package.json
に以下を追加します。
{
"scripts": {
"test": "jest"
}
}
最後に、yarn test
または npm test
を実行すると、Jest は以下のメッセージを表示します。
PASS ./sum.test.js
✓ adds 1 + 2 to equal 3 (5ms)
あなたは Jest を使用して、最初のテストを書き、うまくいきました!
このテストは expect
と、 toBe
を使用し、2 つの値が同じかテストしました。 他の Jest でテスト可能なものについては、Using Matcher を参照してください。
コマンドラインからの実行
Jest は、CLI から様々な便利なオプションを付けて、直接実行できます。 (実行するためには、例えば yarn global add jest
またはnpm install jest --global
でインストールし、PATH
でグローバルに利用可能になっている必要があります。 )
ここでは my-test
を Jest で実行し、実行後に OS の通知を表示する方法を示します。 そのとき構成ファイルとして config.json
を使用します。
jest my-test --notify --config=config.json
コマンドラインから Jest
を実行する方法の詳細については、Jest CLI Options を参考にしてください。
追加設定
基本の設定ファイルを生成する
次のコマンドを実行すると、Jest はあなたのプロジェクトの構成に基づいたいくつかの質問をし、その回答から短いコメント付きの基本の設定ファイルを生成します。
- npm
- Yarn
- pnpm
npm init jest@latest
yarn create jest@latest
pnpm create jest@latest
Babel を使用する
Babel を使用するために、yarn で必要な依存関係をインストールしてください。
- npm
- Yarn
- pnpm
npm install --save-dev babel-jest @babel/core @babel/preset-env
yarn add --dev babel-jest @babel/core @babel/preset-env
pnpm add --save-dev babel-jest @babel/core @babel/preset-env
Node.jsの現在のバージョンをターゲットにするためにBabelを定義するには、babel.config.js
というファイルをプロジェクトのルートに作ってください。
module.exports = {
presets: [['@babel/preset-env', {targets: {node: 'current'}}]],
};
The ideal configuration for Babel will depend on your project. See Babel's docs for more details.
Babelの設定にJestを認識させる
Jest will set process.env.NODE_ENV
to 'test'
if it's not set to something else. You can use that in your configuration to conditionally setup only the compilation needed for Jest, e.g.
module.exports = api => {
const isTest = api.env('test');
// You can use isTest to determine what presets and plugins to use.
return {
// ...
};
};
babel-jest
is automatically installed when installing Jest and will automatically transform files if a babel configuration exists in your project. これを避けるには、 transform
設定を明示的にリセットして下さい。
module.exports = {
transform: {},
};
Webpack を使用する
Jestは webpackでアセットやスタイル、コンパイル作業を管理するプロジェクトで使用できます。 webpack は他のツールよりもユニークで挑戦的な機能を提供しています。 具体的な使い方は webpack guide を参照してください。