2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[3分クッキング]NestJSテストコード

Last updated at Posted at 2022-04-18

はじめに

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

やること

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

ファイルを作成する

NestJSは、*.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した図。

以上です。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?