単体テスト(VisualStudioのMSTest-.NET3.5 SP1)中に非常に奇妙な問題が発生しました:
- [ソリューションですべてのテストを実行する]をクリックします
- 1つの特定のクラスを除いて、すべてのテストに合格します。ただし、すべてのテストで次の例外がスローされます。「System.IO.FileLoadException:このアセンブリをロードすると、他のインスタンスとは異なる許可セットが生成されます。(HRESULTからの例外:0x80131401)」
- 次に、クラスにブレークポイントを設定します。結果:クラス内のすべてのテストに合格します(以前に失敗したのと同じテスト)。
- 「ソリューションですべてのテストを実行」をクリックします。別のクラスを除いて、すべてのテストに合格します。
- クラスにブレークポイントを設定します。結果:クラス内のすべてのテストに合格
- 「ソリューションですべてのテストを実行」をクリックします。最初のテストクラスを除いて、すべてのテストに合格します。
- 等
ご覧のとおり、問題は非常に一貫性がなく、デバッグが困難です。
Fusion Log Viewerを使用してみましたが、わかりにくい結果になりました。
何を探すべきですか?他の誰かがこの問題を経験しましたか?
更新: いくつかの追加情報が要求されました。
テストは何ヶ月も問題なく実行されました。前回実行したのは木曜日だったと思いますが、その後は問題なく実行されました。私はソース管理の履歴を調べて、何かが変更されたかどうかを確認しようとしていますが、異常なことは何もありません。
過去のさまざまな日にプロジェクトを追跡してチェックアウトすることはできましたが、Visual Source Safeを使用しています(私は知っています-私の決定ではありません:-()ので、それを行うのをためらっています。
テストは通常の単体テストであり、モックオブジェクトにMoqを使用しています...しかし、私が言ったように、最近まで正常に機能していました。
この問題をデバッグする方法についてのアドバイスを期待していました。