【发布时间】:2018-10-17 12:48:03
【问题描述】:
这是我的代码,我想为 Build 方法编写一个单元测试,作为为 D 类编写测试用例的一部分。
public class X
{
}
public interface IB
{
X GetX(X value);
}
public class B : IB
{
public X GetX(X value)
{
//ToDo:
}
}
public abstract class A
{
private IB obj;
public A(IB obj)
{
this.obj = obj;
}
public X Build()
{
return obj.GetX();
}
}
public class D : A
{
public void display()
{
//TODO
}
}
//Test Method
[Test]
public void Test_Build(){
var mock = new Mock<IB>();
var objA = new D();
objA.Build();
}
这是我的测试方法。在调用 build 方法时,我的代码由于未传递 IB 实例而引发异常。我不确定如何通过子类 D 将 IB 的模拟对象传递给抽象类 A。
【问题讨论】:
-
你的问题是什么?
-
A classA = new D();classA.Build(); -
您的代码无法编译。
D不能继承A,因为构造函数不匹配public A(IB obj)。所以先解决这个问题,然后就应该清楚了。 -
到目前为止你尝试过什么?这是一种书面的“给我代码”。