概要
こんな時どう書けばいいんだろう?やこの機能どんな意味だっけ?を備忘録として残します。
オブジェクトでパラメータライズテストしたい
下記のようにオブジェクトを一旦配列に直してテストする
// オブジェクト形式のテストデータ
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);
});
});
コメント