我从这个序列化对象的 post (accepted answer code) 中获取了一个方法,以便我可以获得该对象的新副本。
现在我正在尝试进行单元测试,但每当我到达我想要克隆的对象时,它就会出现
Tests.ServiceLayer.TestTService.Test_Something: System.Runtime.Serialization.SerializationException :在程序集中键入“Moq.Interceptor” 'Moq,版本= 3.1.416.3, 文化=中性, PublicKeyToken = 69f491c39445e920'是 没有标记为可序列化。
所以似乎我的模拟对象中有一些东西,克隆试图复制但不能。
我不确定如何告诉它忽略这些事情。我会嘲笑克隆,但我使用的扩展方法,我认为我不能嘲笑。
答案 0 :(得分:0)
Moq创建的代理类不是Serializable
,这就是为什么在这种情况下你不能使用Clone
方法的原因。您必须使用其他内容替换模拟对象,或者尝试按照this blog post模拟扩展方法。