.NET

統合テスト

WebApplicationFactory、TestServer、データベーステスト、HTTPクライアントテスト、test fixtures

18 面接問題·
Mid-Level
1

ASP.NET CoreにおけるWebApplicationFactoryとは何ですか?

回答

WebApplicationFactoryは、Microsoft.AspNetCore.Mvc.Testingパッケージが提供するクラスで、統合テスト用のインメモリテストサーバーを作成できます。実際のデプロイを必要とせずに、すべての依存関係を持つASP.NET Coreアプリケーションを初期化するため、テストが高速で分離されたものになります。このアプローチは、実際のサーバーのセットアップコストを回避しながら、本番環境に近い環境でアプリケーションをテストできるため推奨されます。

2

統合テストで実際のHTTPサーバーの代わりにWebApplicationFactoryを使用する主な利点は何ですか?

回答

WebApplicationFactoryはインメモリテストサーバーを作成するため、ネットワークレイテンシとデプロイコストを排除しながら、構成を完全に制御できます。実際のネットワーク通信や管理すべき別プロセスがないため、テストははるかに高速に実行されます。さらに、ConfigureTestServicesを介してサービスを置き換えることができ、外部インフラなしでテストの分離やさまざまなシナリオのシミュレーションが容易になります。

3

ASP.NET Coreにおけるユニットテストと統合テストの違いは何ですか?

回答

ユニットテストはすべての依存関係をモック化することで単一のコード単位(メソッド、クラス)を分離してテストしますが、統合テストはデータベース、ミドルウェア、実際のサービスを含む複数のコンポーネントが正しく連携することを検証します。ユニットテストはより高速でシンプルですが統合の問題を検出しません。一方、統合テストはより遅いですがアプリケーション全体の動作を検証します。バランスの取れた戦略は両方のアプローチを組み合わせます。

4

統合テストでWebApplicationFactoryを使用するために必要なNuGetパッケージはどれですか?

5

WebApplicationFactoryでAPIをテストするためのHTTPクライアントを作成するにはどうすればよいですか?

+15 面接問題

次の面接に向けて.NETをマスター

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

無料で始める