C# 4.0 NUnit和MVC4简单成员身份
使用NUnit为我的MVC4应用程序创建单元测试真的很困难。现在我特别关注这个测试,它让一个用户登录,或者如果他们不存在,就创建他们,然后让他们登录。以下是测试:C# 4.0 NUnit和MVC4简单成员身份,c#-4.0,asp.net-mvc-4,nunit,C# 4.0,Asp.net Mvc 4,Nunit,使用NUnit为我的MVC4应用程序创建单元测试真的很困难。现在我特别关注这个测试,它让一个用户登录,或者如果他们不存在,就创建他们,然后让他们登录。以下是测试: [Test] public void LoginValidUser() { //Start up the DB connection App_Start_DB(); //Setup our default test user string UserName = "Loca
[Test]
public void LoginValidUser()
{
//Start up the DB connection
App_Start_DB();
//Setup our default test user
string UserName = "LocalTestUser@penrouse.com";
string Password = "books";
bool LoginWorked = false;
//check and see if our test user exists
if (!WebSecurity.UserExists(UserName))
{
//If not, create them
WebSecurity.CreateUserAndAccount(UserName, Password, new
{
Name = "Local Test User",
IsPromotional = true,
IsAllowShare = true
});
//Log them in
LoginWorked = WebSecurity.Login(UserName, Password);
}
else
{
//This user already exists, just log them in
LoginWorked = WebSecurity.Login(UserName, Password);
}
Assert.IsTrue(LoginWorked);
Trace.WriteLine("Login Valid User Result : " + LoginWorked.ToString());
}
问题是,每次尝试WebSecurity.Login时,我都会收到一个空引用异常,堆栈跟踪指向:
System.Web.Security.FormsAuthentication.SetAuthCookieString用户名、布尔createPersistentCookie、字符串strCookiePath
在尝试登录之前直接调用该方法不会改变行为。因此,我有两个问题:
有没有更好的方法来测试SimpleMembership的这些部分?
如果没有,是否有一种好的方法覆盖或模拟AuthCookie,以便在以这种方式进行测试时登录可以工作?
如果您有任何帮助或见解,我们将不胜感激。同样的问题。。。。。我认为简单成员api在{Void SetAuthCookieSystem.String,Boolean,System.String}崩溃了。这里有解决方案吗?