[Sy] はじめての Jest
2018/02/28
今年こそテストを書いていきたいと思ってます。最近よく目にする Jest というのが良さそうなので使ってみます。
基本的にはこちらの公式サイトを参考に進めます。
⇒ Getting Started · Jest1. Jest をインストールする
適当な作業ディレクトリを作って、移動します。
$ mkdir hello-jest
$ cd hello-jest
Jest をインストールします。テストのためのツールなので devDependencies
としてインストールしておきます。
$ yarn add --dev jest
・
・
success Saved 331 new dependencies.
info Direct dependencies
└─ jest@22.4.2
info All dependencies
・
・
├─ jest-changed-files@22.2.0
├─ jest-cli@22.4.2
├─ jest-environment-node@22.4.1
├─ jest-leak-detector@22.4.0
├─ jest-resolve-dependencies@22.1.0
├─ jest-runner@22.4.2
├─ jest-serializer@22.4.0
├─ jest@22.4.2
・
・
・
・
✨ Done in 7.14s.
依存パッケージが 331 ありました。結構なボリュームです。
2. テスト対象となるモジュールを作る
sum.js
というファイルを作り、足し算を行う関数をモジュール化します。
$ vim sum.js
(sum.js)
module.exports = (a, b) => {
return a + b;
}
3. テストを作る
続いて sum.test.js
というファイルを作り、sum.js
のテストを行うためのコードを書きます。
$ vim sum.test.js
(sum.test.js)
const sum = require('./sum');
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
4. テストを実行する
テストを実行してみます。
$ ./node_modules/.bin/jest
PASS ./sum.test.js
✓ adds 1 + 2 to equal 3 (3ms)
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 1.384s
Ran all test suites.
無事テストが通ったのが確認できます。
package.json
の scripts に以下のように書いておくと、
{
"scripts": {
"test": "jest"
},
"devDependencies": {
"jest": "^22.4.2"
}
}
これで Jest を実行することができるので楽です。
$ npm test
> @ test /Users/utano320/Documents/Develop/hello-jest
> jest
PASS ./sum.test.js
✓ adds 1 + 2 to equal 3 (3ms)
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 1.067s
Ran all test suites.