NUnit Test Fails из-за элемента Null в BaseController [duplicate]

Настройка политики выполнения для RemoteSigned или Unrestricted должна работать. Он должен быть изменен в режиме администратора с помощью консоли PowerShell. Имейте в виду, что изменения будут применяться в соответствии с битовой версией консоли PowerShell, поэтому 32 бит или 64 бит. Поэтому, если вы хотите установить пакет в Visual Studio (32-разрядная версия), для которого требуется определенная политика, вы должны изменить настройки политики через PowerShell (x86).

Команда в PowerShell (с правами администратора) установите политику в неограниченную (как отмечено в комментариях @Gabriel в комментариях):

start-job { Set-ExecutionPolicy Unrestricted } -RunAs32 | wait-job | Receive-Job

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

28
задан Magpie 12 June 2009 в 12:30
поделиться

2 ответа

RouteData также имеет конструктор , который не принимает аргументов . Просто создайте его и добавьте нужные ему значения. Нет необходимости издеваться над ним, когда вы можете его создать.

 var routeData = new RouteData();
 routeData.Values.Add( "key1", "value1" );

 var controllerContext = new ControllerContext(httpContextMock.Object, routeData, controllerMock.Object);
54
ответ дан tvanfosson 20 August 2018 в 08:15
поделиться
  • 1
    Лол, спасибо тебе. Это был случай чрезмерного мышления о проблеме с моей стороны. Очень просто. Приветствия. – Magpie 12 June 2009 в 13:09

Я очень новичок в TDD в сочетании с макетными объектами, но урок, который я узнал на ранней стадии от коллеги, заключался не в том, чтобы издеваться над типами, которыми вы не владеете. Таким образом, не пытайтесь издеваться над RouteData. Идея изначально была задумана Джо Уолнсом (хотя я не могу найти, где он это сказал).

2
ответ дан John Berberich 20 August 2018 в 08:15
поделиться
  • 1
    На самом деле одной из причин, по которым Microsoft разработала HttpContextBase, было так, что вы могли издеваться над этим. Это очень сложный объект, но часто используется в веб-тестировании. Есть несколько отличных примеров использования Moq для тестирования ваших маршрутов в Pro ASP.NET MVC 2 Стивена Сандерсона. – KarlZ 14 March 2015 в 20:58
  • 2
    Итак, как я могу испытать своих помощников, которые зависят от таких вещей, как RouteData. Если вы говорите, что я не должен издеваться над классами, которые мне не принадлежат? Тесты не могут быть записаны тогда или, возможно, как класс, который я тестирую, нужно более абстрагироваться? Не могу потрудиться с изменением моего класса сейчас. Это работает. Мне просто нужны модульные тесты для его прочтения: D – ppumkin 16 March 2017 в 12:06
Другие вопросы по тегам:

Похожие вопросы: