Как мне сделать, чтобы мои расширения игнорировали Moq?Moq.Interceptor не сериализуем - PullRequest
1 голос
/ 10 февраля 2011

Я взял метод из этого сообщения (принятый код ответа) , который сериализует объект, чтобы я мог получить новую копию этого объекта.

Сейчас я пытаюсь выполнить юнит-тест, но каждый раз, когда я добираюсь до объекта, который пытаюсь клонировать, он приходит к

Tests.ServiceLayer.TestTService.Test_Something: System.Runtime.Serialization.SerializationException : Введите 'Moq.Interceptor' в сборке Moq, версия = 3.1.416.3, Culture = нейтрально, PublicKeyToken = 69f491c39445e920 'is не помечен как сериализуемый.

Так что, похоже, в моем макете есть что-то, что клон пытается скопировать, но не может.

Я не уверен, как сказать ему игнорировать эти вещи. Я бы издевался над клоном, но я использую метод расширения, который, как мне кажется, я не могу сделать.

1 Ответ

0 голосов
/ 11 февраля 2011

Класс прокси, созданный Moq, не является Serializable, и поэтому вы не можете использовать метод Clone в этом случае. Вы должны либо заменить смоделированный объект чем-то другим, либо попытаться смоделировать метод расширения согласно этому сообщению в блоге .

...