
統合テスト
WebApplicationFactory、TestServer、データベーステスト、HTTPクライアントテスト、test fixtures
18 面接問題·
Mid-Level
1ASP.NET CoreにおけるWebApplicationFactoryとは何ですか?
1
ASP.NET CoreにおけるWebApplicationFactoryとは何ですか?
回答
WebApplicationFactoryは、Microsoft.AspNetCore.Mvc.Testingパッケージが提供するクラスで、統合テスト用のインメモリテストサーバーを作成できます。実際のデプロイを必要とせずに、すべての依存関係を持つASP.NET Coreアプリケーションを初期化するため、テストが高速で分離されたものになります。このアプローチは、実際のサーバーのセットアップコストを回避しながら、本番環境に近い環境でアプリケーションをテストできるため推奨されます。
2統合テストで実際のHTTPサーバーの代わりにWebApplicationFactoryを使用する主な利点は何ですか?
2
統合テストで実際のHTTPサーバーの代わりにWebApplicationFactoryを使用する主な利点は何ですか?
回答
WebApplicationFactoryはインメモリテストサーバーを作成するため、ネットワークレイテンシとデプロイコストを排除しながら、構成を完全に制御できます。実際のネットワーク通信や管理すべき別プロセスがないため、テストははるかに高速に実行されます。さらに、ConfigureTestServicesを介してサービスを置き換えることができ、外部インフラなしでテストの分離やさまざまなシナリオのシミュレーションが容易になります。
3ASP.NET Coreにおけるユニットテストと統合テストの違いは何ですか?
3
ASP.NET Coreにおけるユニットテストと統合テストの違いは何ですか?
回答
ユニットテストはすべての依存関係をモック化することで単一のコード単位(メソッド、クラス)を分離してテストしますが、統合テストはデータベース、ミドルウェア、実際のサービスを含む複数のコンポーネントが正しく連携することを検証します。ユニットテストはより高速でシンプルですが統合の問題を検出しません。一方、統合テストはより遅いですがアプリケーション全体の動作を検証します。バランスの取れた戦略は両方のアプローチを組み合わせます。
4
統合テストでWebApplicationFactoryを使用するために必要なNuGetパッケージはどれですか?
5
WebApplicationFactoryでAPIをテストするためのHTTPクライアントを作成するにはどうすればよいですか?
+15 面接問題
その他の.NET面接トピック
C# の基礎
Junior
25問LINQ & Delegates
Junior
20問C#言語の基礎
Junior
15問ASP.NET Core の基礎
Junior
18問ASP.NET Core のリクエストライフサイクル
Junior
20問Configuration & Settings
Junior
20問アプリケーションのライフサイクル
Junior
20問Dependency Injection
Mid-Level
24問Entity Framework Core
Mid-Level
25問Minimal APIs
Mid-Level
18問Web API開発
Mid-Level
22問ASP.NET Core における Async
Mid-Level
20問Authentication & Authorization
Mid-Level
18問HttpClient & ネットワーキング
Mid-Level
20問JSONシリアライズ
Mid-Level
20問Entity Framework Core 応用
Mid-Level
25問C# の高度な機能
Mid-Level
20問Clean Architecture
Mid-Level
20問Logging, Monitoring & Observability
Mid-Level
22問ユニットテストとxUnit
Mid-Level
20問Docker & Containerization
Mid-Level
16問NuGet パッケージ管理
Mid-Level
16問Memory Management & GC
Senior
22問リアクティブプログラミング
Senior
24問Async/await とパターン
Senior
26問.NET デザインパターン
Senior
24問パフォーマンス最適化
Senior
22問セキュリティとベストプラクティス
Senior
24問SignalR とリアルタイム
Senior
22問マイクロサービスアーキテクチャ
Senior
25問