
エンドツーエンドテスト
Supertest、テスト用データベース、fixtures、テストでの認証、APIテスト
20 面接問題·
Mid-Level
1NestJSの文脈におけるE2E(エンドツーエンド)テストとは何ですか?
1
NestJSの文脈におけるE2E(エンドツーエンド)テストとは何ですか?
回答
E2Eテストは、HTTPリクエストからレスポンスまで、すべてのレイヤー(controller、service、database)を通してアプリケーションの完全なフローを検証します。コンポーネントを分離するユニットテストとは異なり、E2Eテストはすべてのコンポーネントの統合が正しく機能することを検証します。これにより、ユニットテストでは捉えられない統合バグを検出できます。
2NestJSがE2Eテストに推奨しているライブラリは何ですか?
2
NestJSがE2Eテストに推奨しているライブラリは何ですか?
回答
Supertestは、ネットワークポートでサーバーを起動せずにHTTPエンドポイントをテストできるため、NestJSでのE2Eテストに推奨されるライブラリです。分離されたアプリケーションインスタンスを作成し、シミュレートされたHTTPリクエストを直接送信します。これによりテストが高速かつ信頼性が高くなり、並列テスト間のポート競合を回避できます。
3NestJSのテストでSupertest用のHTTPサーバーインスタンスを取得するにはどうすればよいですか?
3
NestJSのテストでSupertest用のHTTPサーバーインスタンスを取得するにはどうすればよいですか?
回答
app.getHttpServer()メソッドは、基盤となるHTTPサーバーインスタンス(ExpressまたはFastify)を返し、これをSupertestに渡してテストリクエストを実行できます。このメソッドはTest.createTestingModule()でテストモジュールを作成した後に利用可能です。これによりSupertestは、ネットワークポートでサーバーを起動することなく、直接サーバーにアクセスできます。
4
NestJSプロジェクトでE2Eテストは一般的にどのファイルに配置されますか?
5
HTTPレスポンスのステータスコードを確認できるSupertestのメソッドはどれですか?
+17 面接問題
その他のNode.js / NestJS面接トピック
Node.js の基礎
Junior
20問Node.js コア API
Junior
25問非同期プログラミング
Junior
25問Express.js の基礎
Junior
20問NestJSの基礎
Junior
23問REST API 設計
Junior
20問バリデーションとDTO
Junior
20問APIドキュメントと契約
Junior
20問エラーハンドリング
Junior
20問ユニットテスト
Junior
20問タスクスケジューリング
Junior
15問NestJS のモジュールと DI
Mid-Level
20問設定と環境管理
Mid-Level
20問JWT認証
Mid-Level
25問認可とRBAC
Mid-Level
20問TypeORMによるデータベース
Mid-Level
30問Prisma ORM
Mid-Level
25問ミドルウェアとインターセプター
Mid-Level
20問ファイルアップロード
Mid-Level
15問WebSockets
Mid-Level
20問NestJSによるGraphQL
Mid-Level
25問Redisによるキャッシング
Mid-Level
20問Bull によるキュー
Mid-Level
20問DevOps、Logging、CI/CD
Mid-Level
25問Docker とコンテナ化
Mid-Level
25問マイクロサービス
Senior
30問セキュリティのベストプラクティス
Senior
25問パフォーマンスとクラウドデプロイ
Senior
30問