🀄

NestJS(Typescript)テストコードの作り方

2022/05/02に公開

はじめに

NestJSのテストコードの作り方を簡単に解説します。

やること

  1. ファイルを作成する
  2. describeを作成する
  3. itを作成する
  4. expectを作成する
  5. テストを実行する

ファイルを作成する

NestJSではデフォルトで、srcディレクトリ配下にある*.spec.tsというファイル拡張子を自動でテストコードと識別します。

image.png
src配下にexample.spec.tsを用意した図。

以下コマンドを実行した際、ファイルに記述したテストコードを実行してくれます。

npm run test

image.png
テスト実行後の画面

describeを作成する

ファイルを作成した後、describeというメソッドを用意します。
describeによって関連するテストをまとめるために使用します。

第1引数は、テストの説明
第2引数は、テストケースを記述するためのコールバック関数

describe('サンプルテスト', () => {
  // ここにテストケースを追加する
})

itを作成する

describeでテストブロックを作成後、itというメソッドを用意します。
itメソッドは、実際のテストケース名を記述します。

第1引数は、テストの説明
第2引数は、テスト内容を記述するための、コールバック関数
第3引数は、タイムアウト(単位:ミリ秒) ※デフォルトタイムアウトは5秒。省略可能。

describe('サンプルテスト', () => {
 it('戻り値がtrueとなる', () => {
   // ここにテストコードを記述する
 })})

expectを用意する

最後にexpectメソッドを作成します。
テスト結果を評価するメソッドとなります。

describe('サンプルテスト', () => {
 it('戻り値がtrueとなる', () => {
    expect(true).toBe(true); // 成功する例
    expect('Hello').toBe('hellooo'); //失敗する例
 })})

実際にテストコードのサンプル

テストファイルを作成して、以下のテストコードを記述します。
2つの数字を足し算するメソッドを用意して、そのテストコードを作成しました。

example.spec.ts
function addNumbers(num1: number, num2: number) {
  return num1 + num2;
}

describe('加算する', () => {
  it('2つの数字を加算します', () => {
    expect(addNumbers(2, 2)).toEqual(4);
  });
});

実行してみます。

npm run test

image.png

無事に期待した処理結果が返ってきて、テストがPASSした図。

以上です。

Discussion