Я хочу проверить, действительно ли мой тип Func
. Для этого я создал Mock
, но я столкнулся с Exception
из Autofixture. Я пробовал Freeze
только Func
(без Mock
), и это работает. Может ли кто-нибудь объяснить, что происходит, или направить меня к правильному пути?Можно ли заморозить макет функции?
Сообщение об исключении:
Исключение типа «Ploeh.AutoFixture.Kernel.IllegalRequestException» произошло в Ploeh.AutoFixture.dll, но не был обработан в пользовательском коде Дополнительная информация: Запрос на IntPtr было обнаружено. Это небезопасный ресурс, который приведет к сбою процесса, если он используется, поэтому запрос отклоняется. Общим источником запросов IntPtr являются запросы для делегатов, таких как Func или Action. Если это так, ожидаемым решением является настройка (Регистрация или ввод) оскорбительного типа путем указания правильной стратегии создания.
Код:
public class DomainClassDummy
{
public int Id { get; set; }
}
var frozenFunc = F.Freeze<Func<int, DomainClassDummy>>(); //works
var frozenMockOfFunc = F.Freeze<Mock<Func<int,DomainClassDummy>>>(); //fails
Какие версии Moq и AutoFixture вы используете? Вы настраиваете Fixture или используете его как есть? –
Я использую Autofixture 3.30.8, и я задумываюсь о нем: F = новое приспособление(). Настроить (новый AutoConfiguredMoqCustomization()); – Flodpanter