NestJS+ Jestで最低限のE2Eテストを実装する(HTTPアダプターとしてFastifyを使用している前提)。
テスト対象
下記のようなThis is a sample.
という文字列を返すだけのSample
モジュールをテストする。
Jestの設定
NestJSではデフォルトでユニットテストはsrc
下に、E2Eテストはtest
下に置くようになっているが、個人的な好みとしてどちらもtest
下に配置する。
テストコード
1. 下準備
E2Eテストで共通となる下準備の処理を実装する。
ここで返されるmodule
とapp
を各E2Eテストで使用し、そのモジュールのプロバイダーを取得したりリクエストを投げたりする。
もしAppModule
などで環境変数やDB周りのモジュールをimportしている場合は、上記のようにimports
に追加する。
もしグローバルなPipeやGuardをmain.ts
内でバインドしている場合は、上記のようにここで設定しておく。
2. E2Eテストの実装
あとはそのapp
を使用しリクエストを投げて検証すれば実装完了。
テストを実行し無事成功も確認できた。
もしそのモジュールのプロバイダーを使用したい場合はmodule
からget()
すればよい。
1