을 사용하여 프록시 객체를 생성 할 때 :FileNotFoundException이 나는,이 같은 I가 구체적인 클래스를 구현 오전 nuget 패키지에 존재하는 기본 추상 클래스를 MOQ와 성
public class MyConcreteClass : MyBaseAbstractClass<SomeType> {
public MyConcreteClass(IAnInterfaceOne interfaceOne, IAnInterfaceTwo interfaceTwo) : base(interfaceOne, interfaceTwo) { }
}
나는 두 가지를 조롱하고를 그래서 같은 매개 변수 : 그래서 같은
var mockFirst = new Mock<IAnInterfaceOne>();
var mockSecond = new Mock<IAnInterfaceTwo>();
콘크리트 클래스 :
var mockConcrete = new Mock<MyConcreteClass>(mockFirst.Object, mockSecond.Object);
base(interfaceOne, interfaceTwo)
: 나는 내가 FileNotFoundException
, Could not load file or assembly 'Serilog.dll'
및 예외가 어디에서 오는에 대한 기본 생성자 호출 VS 점에서 디버거를 얻을 mockConcrete
var concreteObjectInstance = mockConcrete.Object
내 Object
속성에 액세스하려고 Castle.Core
및 Moq
버전 :
<package id="Castle.Core" version="3.3.3" targetFramework="net452" />
<package id="Moq" version="4.5.21" targetFramework="net452" />
기본 클래스가있는 곳의 nuget 패키지를 검색했으며 serilog에 대한 참조 나 사용법이 없습니다. 내가 searched Castle.Core
's repo and found many usages of serilog 나는 로깅 라이브러리입니다 믿습니다. 그래서 나는이 예외가 어떻게 발생하는지에 대해 혼란스러워하며 내 객체를 모의 할 때 예외를 던지지 않도록 어떻게 해결할 수 있는지에 대해 혼란 스럽습니다.
구체적인 클래스가 테스트중인 시스템입니까, 아니면 테스트중인 실제 시스템에 대한 의존성으로 사용하고 있습니까? – Nkosi
구체적인 클래스는 반환 값을 모의하고 싶은 종속성입니다. 내가 실제로 테스트 한 것은 그것을 사용하지만, 그것은 단지 종속성이다. – httpNick
콘크리트 클래스를 수동으로 새로 작성하고 두 모의 객체를 전달하는 경우에도 실패합니까? 이미 구체 적이기 때문에 이미 모의 객체를 사용하고 있기 때문에 모의하고 싶지는 않습니다. var mockConcrete = new MyConcreteClass (mockFirst.Object, mockSecond.Object); – Nkosi