2016-04-25 14 views
1

ReSharperで動作するユニットテスト(NUnit)に問題があります。個々のテストを個別に実行したり、プロジェクトのすべてのテストを実行しても問題はありません。問題は、ソリューション内のすべてのテストを実行すると開始されます。同じテストがNUnitアダプタとVSユニットテストエクスプローラで完璧に実行されています。私は設定ファイルへのアクセスに失敗していることを確認しました。値をハードコード化する責任があるメソッドを変更すると問題はありませんが、それは問題の解決策ではありません。私は別のクラスを作成することができます、ちょうど設定値を読み取るが、私はそれが完全にクラス内のメソッド(mvcコントローラ)内のメソッドを取得すると思った。私はこれらの問題を解決する方法を見つけようとしています。設定ファイルを使わないようにするのはちょっとばかげています。それが最初の目的です。設定ファイルへのアクセス時にReSharperのバッチユニットテストに失敗する

+0

これまでに試したことの[最小、完全、および検証可能な例の作成方法](http://stackoverflow.com/help/mcve)そうすれば、人々はそれを使って問題を再現し、より良い回答を得ることができます。 – Nkosi

+0

私は最良の方法は例を提供することであることを知っていますが、ここではソリューション全体を意味します。各テストを単独で実行してもエラーは発生しません。 configファイルから別のクラスへの読み込みを担当する移動メソッドとそれを嘲笑してエラーを解決しますが、設定ファイルにアクセスする際に複数のテストファイリングの問題に答えることはありません – Gutek

+0

テストでグローバル変数に必要な設定を引き出し、それらを必要とするすべてのテストが必要なときに使用されます。 configファイルへの複数のアクセスがファイルをロックしている可能性があります。最小限の例の理由は、ファイルがロックされていることを確認するためにconfigにアクセスする方法を確認することでした。どの時点であなたは設定ファイルに書いていますか? – Nkosi

答えて

1

複数のプロジェクトでテストを実行していますか?その場合は、ReSharper →オプション→ユニットテストのReSharperの "各アセンブリに個別のAppDomainを使用する"をチェックしてください。同じAppDomainに複数のアセンブリをロードする最適化がありますが、これは1つの設定ファイルのみが存在する可能性があり、間違ったアセンブリファイルである可能性があることを意味します。個別のAppDomainを使用することは、各アセンブリが独自の設定ファイルを取得することを意味します。

関連する問題