我正在尝试通过使用TDD来创建现有MVC应用程序的副本,但我正在使用TDD从头开始创建它。
在我的现有应用中,我有一个Application_AuthenticateRequest方法,如下所示。
这是受保护的。 我是否正确地认为这些方法不应该被测试 - 也就是说,您只应该测试公共方法而不是私有和受保护的方法。 如果是这样,那么我是否只需编写没有任何测试的受保护方法?
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
StaticDataSeeder.Seed();
}
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
HttpCookie authCookie = Context.Request.Cookies[FormsAuthentication.FormsCookieName];
if (authCookie == null) return;
var authTicket = FormsAuthentication.Decrypt(authCookie.Value);
if (authTicket == null) return;
var userData = new UserDataModel(authTicket.UserData);
var userPrincipal = new PaxiumPrincipal(new GenericIdentity(authTicket.Name), null)
{
Email = userData.Email,
Menu = userData.Menu,
RememberMe = userData.RememberMe
};
Context.User = userPrincipal;
}
}