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コードが動作することを確認するために、異なるシナリオやエッジケースを含む複数のテストを書くことが含まれます。