やりたいこと
Jestでテストをする際に、テスト内容は同じで与えられるデータだけが異なる場合に、重複した処理を書かずに済ませたい。
PHPUnitでテストを書いている時に使ったことのある、data providerという仕組みがJestにもないか調べてみた。
実装
以下のように、describe.each()
を使えばdata providerと同じようなことができる。
interface Datum {
hoge: string,
}
const data: Datum[] = [
{
hoge: 'hoge'
},
.
.
.
]
describe.each(data)('hogeのユニットテスト', (datum: Datum) => {
const { hoge } = datum
it(`${hoge}の場合。`, () => {
// テストの実装
})
})