C# 4.0 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

使用NUnit为我的MVC4应用程序创建单元测试真的很困难。现在我特别关注这个测试,它让一个用户登录,或者如果他们不存在,就创建他们,然后让他们登录。以下是测试:

[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}崩溃了。这里有解决方案吗?