カミソリビューの単体テストを試みています。特に、ログインしているユーザーが管理者である場合にメインツールバーに表示される管理ボタンを作成しようとしています。
現在、テストはありません。その方法は、CurrentUser という静的オブジェクトを設定することです。
かみそり:
@if CurrentUser.IsAdmin()
{
<button>admin</button>
}
ただし、プロジェクト内の別の場所に設定された静的オブジェクトである CurrentUser を呼び出しているため、このカミソリ ビューを個別に単体テストできないかどうかはわかりません。User オブジェクトを作成し、ログインしているユーザーのインスタンスを作成し、それをカミソリ ビューに挿入する必要があると思います。
例えば。
Controller
{
ActionResult Index(){
var currentUser = //somehow get current user
return View(currentUser);
}
しかし、私がテストしているカミソリ ビューが _Layout ページの場合はどうでしょうか。ページをレンダリングするたびに、現在のユーザーを挿入する必要がありますか?
現在のユーザーをビューの親に挿入する方法はありますか? View メソッドをオーバーライドする必要があるのでしょうか。何か案は?
ありがとう!