如何为抽象类方法编写测试用例

拉维库玛

这是我的代码,我想为 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。

戴夫

这是因为在 C# 中没有继承构造函数。

您的基类 A 有一个构造函数,该构造函数采用 IB 的实例并初始化该字段。但是,您的继承类没有指定构造函数,因此有一个默认的无参数构造函数。

您需要为 D 提供一个构造函数,该构造函数采用 IB 的实例,然后像这样将其传递给基本构造函数

public D(IB instanceOfIB)
    : base(instanceofIB)
{
    //do other things here if you want or leave empty
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何为Thread类编写Junit测试用例

如何为 jQuery on() 方法编写 Jasmine 测试用例

如何为方法编写单元测试用例[Angular]

如何为线程运行方法编写junit测试用例

如何为给定方法编写测试用例

如何为 ProcessBuilder 编写测试用例

如何为实现ApplicationListener <ApplicationPreparedEvent>的类编写JUNIT测试用例

如何使用jmockit模拟整个抽象类,但排除一个或几个应在一个JUnit4测试用例中验证的方法?

如何覆盖抽象类中存在的 eventEmitter 对象的单元测试用例(jasmine / Angular8)

如何测试抽象类的方法?

如何为抽象类编写lambda表达式

如何为BadRequest编写单元测试用例?

如何为CombineLatestrxjs Angular编写Jasmine Unit测试用例

如何为使用juid的uuid编写函数的测试用例?

如何为setInterval()函数编写测试用例

如何为Perl脚本编写单元测试用例

如何为CDI编写Junit测试用例?

如何为Android API编写单元测试用例?

如何为我的函数编写测试用例?的PHP

如何为 spring boot 编写 Junit 测试用例:

如何为 GlobalExceptionHandler ControllerAdvice 编写 Spring boot 测试用例

如何为抽象类编写一种返回实现类型的方法?

如何为ExecuteNonQuery和ExecuteScalar和GetDataSet方法编写模拟单元测试用例

如何为公共静态方法编写茉莉花业力测试用例?

如何测试抽象类?

编写抽象类的单元测试

从抽象类测试子类的抽象方法

如何为无参数方法自动生成测试用例?

如何编写动态测试用例