TypeScript:
テストの作成

方法:

TypeScriptは、ほとんどのJavaScriptテストフレームワークと調和して動作します。デモンストレーションの目的で、TypeScriptプロジェクトのゼロ設定セットアップのため、人気のあるテストフレームワークであるJestを使用します。

まず、Jestと必要なTypeScriptタイプがインストールされていることを確認します:

npm install --save-dev jest typescript ts-jest @types/jest

次に、jest.config.jsを変更するか、新しく作成してJestがTypeScriptで動作するように設定します:

module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'node',
};

さて、簡単な関数とそれに対するテストを書きましょう。次の関数を含むsum.tsファイルを考えてみましょう:

// sum.ts
export function sum(a: number, b: number): number {
  return a + b;
}

sum.test.tsというテストファイルを作成します:

// sum.test.ts
import { sum } from './sum';

test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});

テストを実行するには:

npx jest

テストが通ったことを示すサンプル出力は次のようになります:

 PASS  ./sum.test.ts
  ✓ adds 1 + 2 to equal 3 (2 ms)

非同期コードの場合、Jestはasync/awaitで対応します。非同期のfetchData関数を持っているとします:

// asyncFunctions.ts
export async function fetchData(): Promise<string> {
  return "data";
}

非同期関数を使用したテスト:

// asyncFunctions.test.ts
import { fetchData } from './asyncFunctions';

test('fetches data successfully', async () => {
  expect(await fetchData()).toBe('data');
});

テストを実行すると、Jestはプロミスが解決するのを待ち、非同期操作を正確にテストします。

効果的なテストには、期待通りにTypeScriptコードが動作することを確認するために、異なるシナリオやエッジケースを含む複数のテストを書くことが含まれます。