actionfilter の単体テストを作成しようとしています。私はいくつかのコードを書きましたが、それが本当かどうかわかりませんでした。私のアクション結果コードは以下の通りです:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (!HttpContext.Current.User.Identity.IsAuthenticated)
{
HttpContext.Current.Response.Redirect("/kullanicigiris");
}
}
一部のコントローラーにこのアクション結果トップを追加します。
[AuthenticationFilter]
public class HomeController : Controller
私は次のようなテストコードを書きました:
[TestMethod]
public void TestActionFilter()
{
const string expectedViewName = "Create";
const string username = "deneme";
// MockRepository mock=new MockRepository();
AccountController v=new AccountController();
var context = new Mock<HttpContextBase>();
var request = new Mock<HttpRequestBase>();
context.SetupGet(p => p.User.Identity.Name).Returns(username);
context.SetupGet(p => p.Request.IsAuthenticated).Returns(false);
context.VerifyAll();
}
}
私は成功のためにこれを書きました。また、失敗したためにもう1つ書きます。それは本当のアプローチですか?