jestのtips

test

概要

こんな時どう書けばいいんだろう?やこの機能どんな意味だっけ?を備忘録として残します。

オブジェクトでパラメータライズテストしたい

下記のようにオブジェクトを一旦配列に直してテストする

// オブジェクト形式のテストデータ
const testData: { [key: string]: TestData } = {
  case1: { input: 1, expected: 2 },
  case2: { input: 2, expected: 4 },
  case3: { input: 3, expected: 6 },
};

// テスト対象の関数
function double(x: number): number {
  return x * 2;
}

// Object.entriesを使用してオブジェクトを配列に変換し、test.eachでテストを実行
describe('double function', () => {
  test.each(Object.entries(testData))('%s', (name, { input, expected }) => {
    expect(double(input)).toBe(expected);
  });
});

コメント

タイトルとURLをコピーしました