JavaScript:
テストの作成
方法:
ネイティブアプローチ (Jestを使用)
Jestは、JavaScriptでユニットテストを書くためのフレンドリーなAPIを提供する人気のテストフレームワークです。最小限の設定が必要で、モック関数、タイマー、スナップショットテストなどの機能が付属しています。
- インストール:
npm install --save-dev jest
- シンプルなテストを書く:
sum.test.js
というファイルを作成します:
const sum = require('./sum'); // この関数は単純に2つの数字を足すと仮定
test('1 + 2 が 3 になる', () => {
expect(sum(1, 2)).toBe(3);
});
- テストを実行する:
npx jest
サンプル出力:
PASS ./sum.test.js
✓ 1 + 2 が 3 になる (5ms)
非同期コードのテスト
Jestは、プロミスとasync/await構文をテストするのを簡単にします:
// asyncSum.js
async function asyncSum(a, b) {
return Promise.resolve(a + b);
}
// asyncSum.test.js
test('async 加算が機能する', async () => {
await expect(asyncSum(1, 2)).resolves.toBe(3);
});
サードパーティライブラリーの使用 (Mocha & Chai)
Mochaは、より表現力豊かなテストのためにアサーションライブラリーのChaiとしばしば使用される、別の人気のあるテストフレームワークです。
- インストール:
npm install --save-dev mocha chai
- MochaとChaiでテストを書く:
calculate.test.js
を作成します:
const chai = require('chai');
const expect = chai.expect;
const calculate = require('./calculate'); // シンプルな計算モジュール
describe('Calculate', function() {
it('should sum two values', function() {
expect(calculate.sum(5, 2)).to.equal(7);
});
});
- Mochaでテストを実行する:
package.json
にスクリプトを追加します:
"scripts": {
"test": "mocha"
}
そして実行します:
npm test
サンプル出力:
Calculate
✓ should sum two values
1 passing (8ms)
これらの例は、JavaScriptでの基本的なテストの書き方と実行方法を示しています。JestやMochaとChaiのようなテストフレームワークを採用することは、アプリケーションテストのための堅牢な基盤を提供し、アップデートやリファクタリングを通じてコードが意図した通りに機能することを確実にするのに役立ちます。