C# 如何对asp.net标识扩展功能进行单元测试

C# 如何对asp.net标识扩展功能进行单元测试,c#,asp.net-mvc,moq,C#,Asp.net Mvc,Moq,我扩展了我的用户类: public class ApplicationUser : IdentityUser { public bool Blocked { get; set; } } 写了一个方法: [Authorize(Roles="admin")] public ActionResult Ban(string id) { var context = new ApplicationDbContext(); var user = context.Users.

我扩展了我的用户类:

public class ApplicationUser : IdentityUser
{
     public bool Blocked { get; set; }
}
写了一个方法:

[Authorize(Roles="admin")]
public ActionResult Ban(string id)
{
      var context = new ApplicationDbContext();
      var user = context.Users.Find(id);
      if(user.Blocked)
      {
         user.Blocked = false;
      }
      else
      {
         user.Blocked = true;
      }
     context.SaveChanges();
     return RedirectToAction("ViewUsers", "Admin");
     }
如何使用最小起订量进行测试

我也不知道如何测试这个方法:

[Authorize(Roles = "admin")]
public ActionResult ViewUsers()
{
    var context = new ApplicationDbContext();
    var users = from u in context.Users
                   where u.Roles.Any(r => r.Role.Name == "user")
                   select u;
    ViewBag.Users = users;
    return View(users.ToList());
    }

我试图模仿ApplicationDbContext或UserManager,但我认为我不知道一些重要的事情。谢谢。

如果要模拟上下文,则需要插入上下文。如果要模拟上下文,则需要插入上下文。如果要模拟上下文,则需要在方法中新建上下文。