Фиктивное присутствие атрибута Authorize - PullRequest
1 голос
/ 24 августа 2011

Мне было интересно, как вы могли бы посмеяться над тем, что контроллер украшен атрибутом [Authorize] в MVC3? Я использую пользовательский провайдер членства. Я хотел бы проверить, что контроллер был украшен атрибутом, и вы авторизованы, и что происходит, когда вы не авторизованы. Я использую Moq. Любые хорошие предложения по этому поводу?!

UPDATE: В настоящее время я получаю исключение NullreferenceException, говорящее «ссылка на объект не установлена ​​на экземпляр объекта». Это та же ошибка, что и ранее упомянутая в этом посте NullReferenceException при использовании атрибута авторизации

Это связано с атрибутом Authorize. Я бегу под IIS и не использую Кассини. Кто-нибудь знает, связано ли это как-то с пулом приложений и правами пользователей. Тесты, которые у меня есть для атрибута authorize, не будут работать, пока это не будет исправлено.

Может быть, есть другой способ проверки атрибута Authorize? Большое спасибо заранее.

UPDATE2 Поэтому после некоторой обширной помощи в поиске и отладке от коллеги, которую я упомянул, я решил проблему с атрибутом [Authorize]. Кажется, что эта строка в web.config отсутствует:

<modules runAllManagedModulesForAllRequests="true">

Как ни странно, это не создавало проблем для другого коллеги, который делил транк или в бета-среде. Это только вызвало проблемы для меня на местном уровне. Это может быть связано с чем-то в GAC. Во всяком случае, теперь все работает.

Спасибо.

1 Ответ

1 голос
/ 24 августа 2011

Я написал пост в блоге об этом пару месяцев назад:

http://thomasardal.com/unit-testing-attribute-decorations/

...