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のようなテストフレームワークを採用することは、アプリケーションテストのための堅牢な基盤を提供し、アップデートやリファクタリングを通じてコードが意図した通りに機能することを確実にするのに役立ちます。