ASP.NET MVC - фиктивное членство для теста контроллера - PullRequest
5 голосов
/ 18 марта 2009

Я не уверен, как смоделировать членство в ASP.NET для проверки моего контроллера.

Код контроллера:

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

Кто-нибудь знает, как сделать это для проверки контроллера? Я использую RhinoMocks.

Ответы [ 3 ]

5 голосов
/ 30 октября 2009

Я начал работать над чем-то вроде этого. Вместо того, чтобы делать настоящую насмешку, я создал FakeMembershipProvider, который просто реализует минимум MembershipProvider, который мне нужен, и предоставляет способ задания пользователей и тому подобное. Я делаю то же самое для RoleProvider. Затем я установил App.config для своего тестового проекта, чтобы он использовал их в качестве поставщиков.

Пока что, похоже, работает хорошо.

3 голосов
/ 18 марта 2009

Я бы посмотрел серию 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

0 голосов
/ 25 июня 2010

Чтобы смоделировать объекты, связанные со статическим классом Membership, в этом случае вы должны использовать его классы Abstract, чтобы смоделировать метод GetUser (), использовать класс MembershipProvider, можно смоделировать, просто передать его контроллеру, и все готово .

Удачи, если у вас возникнут проблемы, просто дайте мне сейчас, я выложу несколько примеров кода.

...