Kimliği doğrulanmış kullanıcıyı Moq framework kullanarak nasıl alay edebiliyoruz. Form Kimlik Doğrulaması kullanıldı.Kimliği doğrulanmış kullanıcının Moq kullanarak birim sınamada kullanılmasını sağlama
Buraya kimliği böyle bir şeyi kullandık
Kimliği doğrulanmış kullanıcıyı Moq framework kullanarak nasıl alay edebiliyoruz. Form Kimlik Doğrulaması kullanıldı.Kimliği doğrulanmış kullanıcının Moq kullanarak birim sınamada kullanılmasını sağlama
Buraya kimliği böyle bir şeyi kullandık
değerini alay etmek gerek
public PartialViewResult MyGoals()
{
int userid = ((SocialGoalUser)(User.Identity)).UserId;
var Goals = goalService.GetMyGoals(userid);
return PartialView("_MyGoalsView", Goals);
}
altında eylem için birim testleri yazmak gerek, belki de size yardımcı olur:
var controllerContext = new Mock<ControllerContext>();
var principal = new Moq.Mock<IPrincipal>();
principal.Setup(p => p.IsInRole("Administrator")).Returns(true);
principal.SetupGet(x => x.Identity.Name).Returns(userName);
controllerContext.SetupGet(x => x.HttpContext.User).Returns(principal.Object);
controller.ControllerContext = controllerContext.Object;
Bunu benzer bir şekilde, sadece "IPrincipal" alay etmeden yapıyorum: 'contollerContext.Setup (ctx => ctx.HttpContext.User.IsInRole (" Yönetici ")). (True); –
Sadece boş bir merak - burada sormadan önce kendiniz bir şey denediniz mi? Ne senin için çalışmadı? –
Belki de [Benzer SO konusu] (http://stackoverflow.com/questions/3027264/mocking-user-identity-in-asp-net-mvc) yardımcı olabilir? –
Wehey. Tıpkı benim de çözdüğüm gibi. Alt satır, bağımlılık enjeksiyonu ve kontrolün ters çevrilmesi gibi konulara bakar. –