2

Pex を使用して、プロジェクトのパラメーター化された単体テストを生成し始めたところです。ただし、Pex に探索を実行させると、web.config から読み取ることができないため、コードがクラッシュします (より正確には、ConfigurationSettings.AppSettings には要素がありません)。探索中の作業ディレクトリは、「C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE」です。これが根本原因だと思います。

これを処理する適切な方法は、必要な値に対応するモック オブジェクトを作成することです。ただし、これにより、大量のモックコードを作成する必要があり、web.configをテストプロジェクトにバンドルすることに問題がないため、具体的な価値IMHOは提供されません。

Pex 探索の実行中に web.config (または app.config) からの読み取りを有効にするにはどうすればよいですか?

4

2 に答える 2

3

残念ながら、あなたは自分の質問に答えました-コードからデータベースに直接アクセスしないのに、なぜ構成ファイルでそれを行うのですか? 構成ファイルの設定に薄いラッパーを配置し、テストでそれをスタブするだけです。すべてを一度に行う必要はありません。テスト対象のコードから始めて、ラッパーの背後にある直接参照を少しずつ移動します。これを行う具体的な利点は、テストが簡単になることです。

また、Pex を使用すると、実行ごとにコードが完全に分解される場合 (実際にそうであるかどうかはコードとテストによって異なります)、毎回ファイル システムにアクセスすることになり、パフォーマンスに深刻な影響を与えます。 .

于 2009-10-25T19:48:41.667 に答える
1

Pex 開発者は (多くの場合) stackoverflow を読みません。Pex 関連の質問は、http: //social.msdn.microsoft.com/Forums/en/pex/threads のフォーラムで行うことをお勧めします。

于 2009-10-27T18:06:41.297 に答える