2022/02/11
Jestを使ってみた
Jestとは
Jestは、Facebookがオープンソースとするテストフレームワークであり、アサーションライブラリ、モック、スナップショットテスト、カバレッジレポートなどの機能を統合しています。
Reactコードのテストには最適ですが、それだけでなく、すべてのjsコードをJestでテストできます。
インストール
yarnまたは、npmでjestをインストーすることができます。
yarn:
1 | $ yarn add --dev jest |
npm:
1 | $ npm i -D jest |
–devおよび-DパラメーターはdevDependenciesとして指定されているため、依存関係は開発環境にのみインストールされ、実稼働環境にはインストールされません。
package.jsonファイルに以下を追加します。
1 2 3 | "scripts": { "test": "jest" } |
このようにして、yarn testまたはnpm testを使用てテストコードを実行できます。
同様に、Jestをグローバルにインストールすることもできます。
使用方法
基本的な数学モジュールから始めます。まず、math.jsファイルを作成します。
1 2 3 4 5 6 7 8 9 10 11 | // basic math.js const sum = (a, b) => a + b const mul = (a, b) => a * b const sub = (a, b) => a - b const div = (a, b) => a / b export { sum, mul, sub, div } |
この数学モジュールが正しいことをテストするには、テストコードを書く必要があります。通常、テストファイルの名前はテスト対象のソースファイルと同じですが、最後が.test.jsまたは.spec.jsになります。ここでmath.test.jsファイルを作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | // basic math.test.js import { sum, mul, sub, div } from './math' test('Adding 1 + 1 equals 2', () => { expect(sum(1, 1)).toBe(2) }) test('Multiplying 1 * 1 equals 1', () => { expect(mul(1, 1)).toBe(1) }) test('Subtracting 1 - 1 equals 0', () => { expect(sub(1, 1)).toBe(0) }) test('Dividing 1 / 1 equals 1', () => { expect(div(1, 1)).toBe(1) }) |
npm testでJestを実行すると、一致するすべてのテストファイルが実行され、最終的にテスト結果が返されます。
Author Profile
スターフィールド編集部
SHARE