我想测试这个方法。不完全是因为测试它没有意义,但这是我需要的简单版本。
public bool Test()
{
var authenticationScheme = Context.GetCurrentAuthenticationScheme();
return authenticationScheme == "google";
}
GetCurrentAuthenticationScheme是扩展方法。
public static string GetCurrentAuthenticationScheme(this HttpContext context)
{
var protector = context.ApplicationServices
.GetDataProtector(nameof(CookieStateHandlerExtensions));
return protector.Unprotect(context.Request
.Cookies[CURRENTAUTHENTICATIONSCHEMECOOKIE]
.FirstOrDefault());
}
GetDataProtector 也是“Microsoft.AspNet.DataProtection”的扩展方法
Unprotect 是来自同一命名空间的扩展方法。
我的问题是如何模拟这个(使用Moq)以便GetCurrentAuthenticationScheme()返回我想要的字符串?