JestのTips集10選。サーバーサイドでNode.jsのJestを書いたことない人向け

28037 ワード

対象

業務レベルでサーバーサイドでJestを書いたことはないけれど、新プロジェクトでは書くことになったみたいな方を想定して記述しています。

Jestについては中々ベストプラクティスが集まりにくいので、経験的にこう書くと「きれいに」・「早く」・「正確に」書けるよというTipsを集めてみました。もし、よろしければお読みください。

前提

  • TypeScript
  • Node.js
  • Jest
  • DBアクセスありの状態を想定しています

1. it文内では、必ず1回は、expectをつかって検証をする

JestのPRをレビューしてるとたまに見受けるのですが、expectを使ってないケースがあります。


// NG
it('userを正常に、作成できること', async() => {
  await createUser({ name: 'Mike' });
});

// OK
it('pdfが正常に削除できること', async() => {
  const user = await createUser({ name: 'Mike' });
  expect(user.name).toBe('Mike');
});

// OK
it('pdfが正常に削除できること', async() => {
  await createUser({ name: 'Mike' });
  
  const user = findOneUser({ name: 'Mike' });
  expect(user.name).toBe('Mike');
});


2. Objectの比較には、toStrictEqualを基本的に使う

詳細はかなりむずかしいのですが、脳死で、まずはtoStrictEqualを使いましょう。
厳密な比較になると覚えておけば問題ないです。

理由も交えて、より詳細に知りたい方はこちらが詳しいです。