编辑:我完全重申了这个问题,因为我以前没有正确地表达它。
除了我的测试类之外的所有东西都是 API 的一部分。我将一个模拟接口传递给一个模拟类,然后将该模拟类传递给我的测试类。我的测试类扩展了一个类,构造函数的主体是空的。我的代码在我的构造函数处中断,这意味着失败出现在基类构造函数中,其实现被隐藏。如果有任何不清楚的地方,我深表歉意,请告诉我,我会改写任何不清楚的部分。预先感谢您的帮助。
这是一个代码示例:
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
}
}