在
如何对这样的组件进行单元测试?
我正在使用MSTest框架。
我的代码中使用以下属性:
ViewComponent
对象中,HttpContext
和User
是只读属性。如何对这样的组件进行单元测试?
我正在使用MSTest框架。
我的代码中使用以下属性:
- Cookie
- Session
- User(System.Security.Principal)
public ViewViewComponentResult Invoke()
{
var vm = new SummaryViewModel();
if (User.Identity is ClaimsIdentity identity && identity.IsAuthenticated)
{
vm.IsAuthenticated = true;
vm.UserName = identity.Claims.FirstOrDefault(c => c.Type == "UserName").Value;
vm.PhotoUrl = identity.Claims.FirstOrDefault(c => c.Type == "FacePicture").Value;
}
return View(vm);
}
[TestMethod]
public void UserSummaryVcTest()
{
var component = new UserSummaryViewComponent();
var model = component.Invoke().ViewData.Model as SummaryViewModel;
Assert.AreEqual("UserName", model.UserName);
}
Assert.IsType<SummaryViewModel>(result.ViewData.Model);
- wtf512