我如何为抽象类的具体方法设计和组织测试?特别是在.NET中。
答案 0 :(得分:9)
您必须创建一个实现抽象方法的子类(使用空方法),但不是具体的子类。此子类应仅用于测试(它永远不应该进入您的生产代码)。只需忽略单元测试中重写的抽象方法,并专注于具体方法。
答案 1 :(得分:3)
使用Rhino Mocks,它可以在运行时生成抽象类的实现,并且可以调用非抽象方法。
答案 2 :(得分:1)
首先想到的是在具体的子类中测试这些方法。
答案 3 :(得分:0)
任何理由不仅仅是在测试其中一个实例时包含它?
如果这不起作用,你可能只是为了测试而创建一个没有自己独特功能的子类。
答案 4 :(得分:0)
我总是使用Stub / Mock对象
答案 5 :(得分:0)
您必须定义并创建一个继承自抽象的具体测试类。通常它会是一个光垫片,除了通过呼叫之外什么都不做。