📝

describe - test 構文の書き方

2022/09/27に公開

3つの重要なメソッド

  1. describe
  2. test(it)
  3. expect

describe

いくつかの関連するテストを1つのブロックとしてまとめるためのメソッド。

describe("テストブロックの説明", () => {
   //テストケースを書く//
});

test(it)

実際のテストコードを記述するためのメソッド。describeメソッドの中に関連するテストケースを記述する。testの代わりにitも可。

describe("テストブロックの説明", () => {
   test("テストケース1の説明", () => {
      //テストコードを記述//
   });
   test("テストケース2の説明", () => {
      //テストコードを記述//
   });
});

expect

テスト結果を評価するためのメソッド。マッチャ関数とともに使用される。

test("Xの値がAになることの確認", () => {
   expect(X).toBe(A)
});

今回は.toBe()というマッチャ関数を使用しているが、他にもたくさんある。

与えられた引数を2倍する関数に対して、引数に1、10、100を与えた場合のテストコードは以下のようになる。

// 実際にはテストファイルに関数を記述することはないが、簡単のため以下に記述している
const double = (arg) => arg * 2;

describe("double関数", () => {

  test("引数に1を与えたら2が返ることの確認", () => {
    const result = double(1);   // 引数に1を与えている
    expect(result).toBe(2);   // resultの中身が2と等しいか評価
  });

  test("引数に10を与えたら20が返ることの確認", () => {
    const result = double(10);
    expect(result).toBe(20);
  });
  
  test("引数に100を与えたら200が返ることの確認", () => {
    const result = double(100);
    expect(result).toBe(200);
  });
  
});

Discussion