JavaScript:
テストの作成

方法:

ネイティブアプローチ (Jestを使用)

Jestは、JavaScriptでユニットテストを書くためのフレンドリーなAPIを提供する人気のテストフレームワークです。最小限の設定が必要で、モック関数、タイマー、スナップショットテストなどの機能が付属しています。

  1. インストール:
npm install --save-dev jest
  1. シンプルなテストを書く:

sum.test.jsというファイルを作成します:

const sum = require('./sum'); // この関数は単純に2つの数字を足すと仮定

test('1 + 2 が 3 になる', () => {
  expect(sum(1, 2)).toBe(3);
});
  1. テストを実行する:
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としばしば使用される、別の人気のあるテストフレームワークです。

  1. インストール:
npm install --save-dev mocha chai
  1. 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);
  });
});
  1. Mochaでテストを実行する:

package.jsonにスクリプトを追加します:

"scripts": {
  "test": "mocha"
}

そして実行します:

npm test

サンプル出力:

  Calculate
    ✓ should sum two values


  1 passing (8ms)

これらの例は、JavaScriptでの基本的なテストの書き方と実行方法を示しています。JestやMochaとChaiのようなテストフレームワークを採用することは、アプリケーションテストのための堅牢な基盤を提供し、アップデートやリファクタリングを通じてコードが意図した通りに機能することを確実にするのに役立ちます。