C#
さまざまなファイルを読み取る小さなルーチンの統合テストを作成しようとしています。
そして、うっかり、そのファイルへのアクセスが拒否された場合の動作を指定するテストがあればいいのにと思いました。
テストサンドボックスでそれをシミュレートするための素晴らしく簡単な方法を知っている人はいますか?
これはを使用してエミュレート
DirectorySecurity,
できると思われますが、すべてのケースで正しく実行できるかどうかはわかりません。たとえば、テストを実行している現在のユーザーのアクセス ルールを削除できるとします (これには UAC / 昇格も必要です)。
この場合、テストの終了後にこれらの権利を復元し、サンドボックスを正しく破棄する能力を失うと思います (なりすましやアクセス トークンの操作などに飛び込む必要はありません)。
おそらく、
Moles
または他のモックベースのアプローチでこれを行うことができますが、一般的な解決策 (たとえば、このテストをネイティブ アプリケーションに再利用するなど) に関心があります。
私は何が欠けていますか?これを行う簡単な方法はありますか?