5

我不确定如何为我的控制器测试模拟 ASP.NET 成员资格。

控制器代码:

MembershipUser username = Membership.GetUser();
string UserID = username.UserName.ToString(); 

有谁知道如何模拟这个以进行控制器测试?我正在使用 RhinoMocks。

4

3 回答 3

5

我已经开始做这样的事情了。我没有做一个真正的模拟,而是创建了一个FakeMembershipProvider只实现MembershipProvider我需要的最低限度的东西,并提供了一种设置用户等的方法。我也在做同样的事情RoleProvider。然后我为我的测试项目设置了 App.config,因此它使用这些作为提供程序。

到目前为止,它似乎运作良好。

于 2009-10-30T13:31:44.870 回答
3

我会看 MVS StoreFront 系列http://www.asp.net/learn/mvc-videos/

对于一个嘲笑 -

http://www.asp.net/learn/mvc-videos/video-365.aspx

和会员一 http://www.asp.net/learn/mvc-videos/video-372.aspx

一种用于会员资格和使用 OpenID 进行重构的视图

http://www.asp.net/learn/mvc-videos/video-425.aspx

于 2009-03-18T10:57:38.190 回答
-1

要模拟与 Membership 静态类连接的对象,你应该在这种情况下使用它的抽象类,为了模拟 GetUser() 方法,使用 MembershipProvider 类,可以模拟,只需将它传递给你的控制器就可以了。

祝你好运,如果你有任何问题,现在就让我,我会发布一些代码示例。

于 2010-06-25T15:58:02.033 回答