プロジェクトの 1 つで単体テストを行いたいと考えています。これは Web プロジェクトであり、開発用コピーとは別に実行されるこのプログラムのコピーは1 つだけです。
を使用する単体テストをいくつか書きたいと思いますweb.config。web.config通常、テスターは特定の値の保持に応じてテストなしでコードをテストしたいため、この外部依存関係をスタブ化することを理解しています。
ただし、web.config私のプロジェクトでは常に特定の値を保持する必要があり、無効な値に設定されている場合に失敗する単体テストが必要です。たとえば、値の 1 つは SQL 接続文字列です。
から接続文字列を読み取るテストを作成したいと思いますweb.config。このテストでは、接続文字列を使用してサーバーに接続し、おそらく のような非常に単純なコマンドを実行できると思いSELECT system_user;ます。コマンドが正常に実行され、何かが返された場合、テストは合格です。そうしないと、失敗します。web.configテスト中のプロジェクトから接続文字列を読み取る必要があります。
もちろん、 はConfigurationManager通常web.config、別のプロジェクトで を検索しません。元のプロジェクトからテスト プロジェクトに手動でコピーすることもできますが、web.configすべてのテストの前にそれを行う必要があり、他の誰かにそれを任せることはできません。
web.configテスト プロジェクトを別のプロジェクトから読み取るにはどうすればよいですか?