2011-12-30 9 views
2

私はn層アプリケーションを持っています。サービス(バックエンド)には構成ファイルが必要であり、クライアント部分には独自の構成ファイルが必要です。通常、クライアントはWCF経由でサービスに通信します。しかし、いくつかのテストでは、クライアントのサービスアセンブリを参照し、WCFをバイパスします。このようにテストを簡単にします。ConfigurationManager.OpenExeConfiguration - 開くファイルを指定する

私の質問はこれです。この方法でクライアントを実行すると、サービスアセンブリで使用されるapp.configは、クライアントの設定ファイルであり、独自の設定ファイルではありません。この方法で作業しているときに、クライアント構成ファイルの代わりにサービスアセンブリ構成ファイルを使用するようにConfigurationManagerに指示する方法はありますか?

+0

この質問を見ましたか? http://stackoverflow.com/questions/471042/wrong-app-config-being-loaded –

答えて

-1

WCFを使用してテストする場合は、コードの分離を強化する必要があるようです。最善の策は、WCFの依存関係のないサービスライブラリを構築してテストすることです。サービスライブラリのテストに満足したら、WCFラッパーを使用してサービスライブラリを公開してください。 WCFオペレーション契約の中にコードが必要です。私はあなたの目標もそうであるように、テスト容易性のためにそれらを別々に保つようにしています。

より良い方法は、サービスライブラリと別の設定ファイルへのプロジェクト参照を含むテストプロジェクトを追加することです。

0

テストビジュアルスタジオで実行すると、いくつかのマジックが実行され、サーバー設定が読み込まれます。参照を追加してクライアントを実行すると、クライアントのexe構成をロードする通常の動作が実行されます。

関連する問題