Windows Impersonation API を使用するコードを小さなヘルパー クラスにラップしたいと考えており、いつものように、テスト ファーストにする方法を探しています。ただし、WindowsIdentity はマネージ クラスですが、別のユーザーとして実際にログインを実行するために必要な LogonUser 呼び出しは、advapi32.dll のアンマネージ関数です。
ヘルパー クラスが使用するインターフェイスを導入し、実装で P/Invoke 呼び出しを非表示にすることで、これを回避できると思いますが、その実装をテストすることは依然として問題になります。また、ユーザーが実際にシステム上に存在する必要があることを考えると、テストで偽装を実際に実行することは少し問題になる可能性があることを想像できます。