이 객체의 새로운 사본을 얻을 수 있도록이 객체를 직렬화하는 post (accepted answer code) 메소드를 사용했습니다. 내 확장 기능이 Moq를 무시하도록하려면 어떻게합니까? Moq.Interceptor가 직렬화 가능하지 않습니다.
는 지금은 단위 테스트를하려고하지만 매번 내가 그것을Tests.ServiceLayer.TestTService.Test_Something 올라옵니다 복제하려고 개체에 가져옵니다 들은 System.Runtime.Serialization .SerializationException : 어셈블리 입력 'Moq.Interceptor' 'MOQ, 버전 = 3.1.416.3, 중립 문화 = PublicKeyToken = 69f491c39445e920이'로 직렬화 표시되지 입니다.
그래서 내 조롱 된 개체에 복제물이 복사하려고하지만 복제 할 수없는 물건이있는 것으로 보입니다.
나는 이것을 무시하는 방법을 확신하지 못합니다. 나는 복제품을 조롱 할 것이지만 나는 내가 조롱 할 수 없다고 생각하는 확장 방법을 사용하고있다.
테스트 할 대상이 무엇입니까? 모의 (mock)은 직렬화되지 않을 가능성이 높으므로 (실제로는 그렇지 않습니다) 따라서 Clone 메서드가 작동하지 않습니다. 그러나 단순한 데이터 객체만을 복사하고자하므로 Moq <> – mfloryan
@mfloryan의 모의 객체가 아닌 단순 스텁을 생성 할 수 있어야합니다.이 객체는 nHibernate와 함께 사용되는 도메인 객체이므로 다른 객체에 대한 많은 객체 참조를가집니다. 따라서 실제로 필요한 전체 복사본입니다. 수동으로 작업을 생성 할 수 있지만 그 개체 내에서 많은 개체 컬렉션을 만들었으므로 그것은 다리 작업 일뿐입니다. 그래서 그것의 대부분을 비웃는 것은 다소 좋았다. 내가 주변을 둘러 볼 수 없다면 나는 이것을 할 것이다. – chobo2