Я пытаюсь использовать Autofixture, чтобы проверить мой контроллер MVC с этим кодом: -Autofixture - fixture.CreateAnonymous <MyController>() при отсутствии тест с незаконным запрос исключением
var fixture = new Fixture().Customize(new AutoMoqCustomization());
fixture.Customize<ViewDataDictionary>(vdd => vdd.Without(x => x.ModelMetadata));
var sut = fixture.CreateAnonymous<MyController>();
, который бросает следующее исключение
Exception has been thrown by the target of an invocation.
The method or operation is not implemented.
После некоторых вокруг этого прибегая к помощи, кажется, вплоть до использования MVc4 и выше, и исправление было изменить строку Настройка на
fixture.Customize<ControllerContext>(vdd => vdd.Without(x => x.DisplayMode));
Hoever это сейчас бросает исключение нового
A request for an IntPtr was detected.
This is an unsafe resource that will crash the process if used, so the
request is denied. A common source of IntPtr requests are requests for
delegates such as Func<T> or Action<T>. If this is the case, the expected
workaround is to Customize (Register or Inject) the offending type by
specifying a proper creational strategy.
теперь я, кажется, застрял.
Неужели кто-нибудь еще сталкивается с этой проблемой и решил ее? Или знаете другой способ легко настроить мой контроллер?
Благодаря
Вам нужно настроить как 'ViewDataDictionary', так и' ControllerContext'. Поэтому в основном вам нужно поддерживать обе линии. См. Эти ответы для справки: http://stackoverflow.com/a/14989866/26396 и http://stackoverflow.com/a/6592112/26396 –
@EnricoCampidoglio Насколько я могу судить, настройка должна быть достаточной. –
Я только что пробовал, но я не могу воспроизвести это поведение с помощью AutoFixture 3.39.0 и Microsoft.AspNet.Mvc 5.2.3. Как мы можем воспроизвести эту проблему? –