Не могу создать экземпляр контроллеров в тестах - PullRequest
0 голосов
/ 27 июля 2011

Когда я пытаюсь использовать модульные тесты (интегрированная среда тестирования Microsoft vs2010) с MVC3, все модульные тесты, которые создают экземпляр контроллера, выдают следующую ошибку:

Test method CleanTestMVC.Tests.Controllers.HomeControllerTest.About threw exception: 
System.Security.VerificationException: Operation could destabilize the runtime.

Кажется, что это не зависит от проекта:Я создал новый проект MVC3 с шаблоном интернет-приложения и автоматически сгенерированными для него тестами, которые тоже не запускаются.Я попытался воссоздать проблему на машине коллеги (идентичные настройки), и его машина, кажется, создает те же проблемы.

Для этих проектов не было добавлено ни ссылок, ни внешних библиотек, но на обоих компьютерах установлен TypeMock, хотя в настройках он не указан и не отключен (я слышал, что люди обвиняют его в похожих проблемах).

Может кто-нибудь предложить что-нибудь?Обходной путь и / или потенциальная причина?Это первый раз, когда я использую MVC3 с модульным тестированием, и никто никогда не работал с MVC3, и это для него проект «подопытного кролика».

Спасибо за помощь!

Обновление: После того, как я попробовал его на моем домашнем ПК, все работает там, хотя у меня также установлен TypeMock (пробная версия).

Обновление 2: Трассировка стека для проблемы:System.Web.Mvc.Controller..ctor () CleanTestMVC.Controllers.HomeController..ctor () CleanTestMVC.Tests.Controllers.HomeControllerTest.About ()

1 Ответ

2 голосов
/ 29 июля 2011

Хорошо, в итоге оказалось, что в компании была установлена ​​более старая версия Typemock, несовместимая с MVC3. Отключение Typemock через Typemock-> Disable Typemock на самом деле не «полностью» отключило его, его нужно было отключить в «tools / Addin Manager». После обновления Typemock до последней версии проблема решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...