2011-04-11 15 views
4

私は方法についてちょっと混乱していますmstest.exeテストDLLのapp.configファイルを処理します。mstest.exeはDLLの設定ファイルをどのように扱いますか?

実験プロジェクト1:

  • 些細な非テストDLL。

  • DLLを呼び出して設定値を表示するメインのEXEファイルです。これは、アプリケーションの設定値を読み取って、app.configファイルから出力します。

実験プロジェクト2:

  • 独自app.configファイルからアプリケーションの設定値を読み取り、ファイルに書き込むための唯一の試験方法が含まれているユニットテストDLL。

  • mstest.exeを使用してユニットテストDLLを呼び出します。

結果:DLLの設定値が印刷されていない場合1.

2. DLLの独自の設定値が正常に読み込まれ、ファイルに書き込まれます。

mstest.exeについて特別なことはありますか?

ありがとうございました。


私はSOS.dllを使ってユニットテストDLLをデバッグします。私は単体テストDLLのそれぞれに対して、別々のアプリケーションドメインが作成されていることを発見しました。これらのApp Domainsは、vstesthost.exeという名前のものとは異なります。 私は設定がアプリドメインに固有であると信じています。 Mstest.exeはテストDLLごとにApp Domainを作成し、それぞれの設定ファイルをApp Domainにロードします。

誰かがもっと自信を持って説明できるようにしたいと考えています。アプリケーションドメインに設定ファイルをロードする方法


? が - のAppDomainにして設定ファイルをロードするために、これを使用する:

AppDomainSetup ad2setup =新しい AppDomainSetup();

ad2setup.ConfigurationFile = @ "config ファイルパス";

答えて

1

はいmstest.exeには特別なものがあります。すべての参照dllを別のディレクトリにコピーしてそこから実行します(NCoverのようなツールは単にbinフォルダからテストを実行するので、なぜこれを行うのか分かりません)。このため、DLLのほかにコピーしたいものを設定する必要があります。これを行う標準的な方法は、.testrunco​​nfigファイルに展開項目を指定することです。これを行うには、Test Run/Test Configurations/Deploymentに移動します。 [ファイルを追加...]ボタンを使用して設定ファイルを追加することができます。

関連する問題