【发布时间】:2015-08-09 01:33:31
【问题描述】:
我正在尝试通过创建现有 MVC 应用程序的副本来学习 TDD,但我正在使用 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;
}
}
【问题讨论】:
-
我认为您需要阅读此article 它可能对您有用
-
关于这个问题以前被问过 - 我可以很容易地搜索这个问题,因为我相信这个问题已经在这个网站和许多其他网站上被问过很多次了。不过,我喜欢与人进行对话交流,有时不想只用谷歌搜索——我想要人际互动。
-
我认为,如果您针对您的具体情况定制了您的问题,那就是您想知道在创建适合现有的类时是否/应该如何使用 TDD生态系统并需要特定的扩展点,因此该问题不太可能作为重复而关闭,并且您将获得更多相关的答案作为起点(例如,当前投票率最高的答案似乎并没有特别解决您的问题似乎已经想到了)。
-
是的,我想你是对的,我的错。
标签: c# asp.net-mvc tdd