1
EDIT : 이전에 올바르게 입력하지 않았기 때문에이 질문을 완전히 다시 말하고 있습니다.Rhino Mocks - 모의 클래스를 인수로 전달할 때 생성자가 실패합니다.
내 테스트 클래스를 제외한 모든 것이 API의 일부입니다. mock 인터페이스를 mock 클래스에 전달한 다음 mock 클래스를 테스트 클래스에 전달합니다. 내 테스트 클래스는 클래스를 확장하고 생성자의 본문은 비어 있습니다. 내 코드가 내 생성자에서 중단됩니다. 즉, 구현이 숨겨진 기본 클래스 생성자에 오류가 있음을 의미합니다. 이 문제가 불분명하면 사과드립니다. 명확하지 않은 부분을 다시 알려 드리겠습니다. 당신의 도움에 미리 감사드립니다.
가public class TestClass : ApiClass0
{
ApiClass1 apiClass1;
public TestClass(ApiClass1 apiClass1) : base(apiClass1)
{
this.apiClass1 = apiClass1;
}
public void MethodToTest()
{
apiClass1.Method0();
}
}
public class ApiClass0
{
public ApiClass0(ApiClass1 apiClass1) { }
}
public class ApiClass1
{
public ApiClass1(IApiInterface i) {}
public Method0() { }
}
public interface IApiInterface0 {}
public class TestClassTest
{
[TestInitialize()]
public void TestInitialize()
{
IApiInterface0 mApiInterface0 = MockRepository.GenerateMock<IApiInterface0>();
ApiClass1 mApiClass1 = MockRepository.GenerateMock<ApiClass1>(mApiInterface0);
TestClass testClass = new TestClass(mApiClass1); //code breaks here
}
}
당신이 무엇을 의미하는지는 정말로 분명하지 않습니다 ... 당신이 그것을 조롱하려고한다면 왜 당신은 "먼저 그것을 인스턴스화 할 수 있어야합니까?" 조롱 프레임 워크는 인스턴스 자체를 만들 것입니다. –
상황을 설명하기 위해 몇 가지 샘플 코드를 제공 할 수 있다고 생각하지 않습니까? – PinnyM
@JonSkeet 죄송합니다. 그 이유는 GenerateMock (Rhino 사용)을 호출했을 때 null 참조 예외가 발생했을 때입니다. – tmakino