Node.js / NestJS

エンドツーエンドテスト

Supertest、テスト用データベース、fixtures、テストでの認証、APIテスト

20 面接問題·
Mid-Level
1

NestJSの文脈におけるE2E(エンドツーエンド)テストとは何ですか?

回答

E2Eテストは、HTTPリクエストからレスポンスまで、すべてのレイヤー(controller、service、database)を通してアプリケーションの完全なフローを検証します。コンポーネントを分離するユニットテストとは異なり、E2Eテストはすべてのコンポーネントの統合が正しく機能することを検証します。これにより、ユニットテストでは捉えられない統合バグを検出できます。

2

NestJSがE2Eテストに推奨しているライブラリは何ですか?

回答

Supertestは、ネットワークポートでサーバーを起動せずにHTTPエンドポイントをテストできるため、NestJSでのE2Eテストに推奨されるライブラリです。分離されたアプリケーションインスタンスを作成し、シミュレートされたHTTPリクエストを直接送信します。これによりテストが高速かつ信頼性が高くなり、並列テスト間のポート競合を回避できます。

3

NestJSのテストでSupertest用のHTTPサーバーインスタンスを取得するにはどうすればよいですか?

回答

app.getHttpServer()メソッドは、基盤となるHTTPサーバーインスタンス(ExpressまたはFastify)を返し、これをSupertestに渡してテストリクエストを実行できます。このメソッドはTest.createTestingModule()でテストモジュールを作成した後に利用可能です。これによりSupertestは、ネットワークポートでサーバーを起動することなく、直接サーバーにアクセスできます。

4

NestJSプロジェクトでE2Eテストは一般的にどのファイルに配置されますか?

5

HTTPレスポンスのステータスコードを確認できるSupertestのメソッドはどれですか?

+17 面接問題

次の面接に向けてNode.js / NestJSをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める