测试抽象类具体方法
时间:2020-03-06 14:27:33 来源:igfitidea点击:
如何为抽象类的具体方法设计和组织测试?特别是在.NET中。
解决方案
有什么理由不仅仅将其包括在实例之一的测试中吗?
如果那不起作用,我们可能会创建一个子类,仅用于测试,而没有其自身的独特功能。
首先想到的是在一个具体的子类中测试这些方法。
我们必须创建一个实现抽象方法(带有空方法)的子类,但没有一个具体的子类。该子类应仅用于测试(绝不应该进入生产代码中)。只需忽略单元测试中覆盖的抽象方法,然后将精力集中在具体方法上即可。
我总是使用存根/模拟对象
我们必须定义并创建一个抽象的具体测试类。通常情况下,它将是一个轻薄的垫片,除了通过呼叫外什么也不做。
使用Rhino Mocks,它可以在运行时生成抽象类的实现,并且可以调用非抽象方法。