如何为在基础对象中调用基本方法的方法编写单元测试

gab*_*oer 2 c# unit-testing mocking

我有以下代码:

class MyBase
{
    public virtual void foo()
    { ... }
}

class MyDerived : MyBase
{
   public override void foo()
   {
       ...
       base.foo();
       ...
   }
}
Run Code Online (Sandbox Code Playgroud)

如何在不执行base.foo()方法的情况下测试MyDerived类中的方法foo?

Jon*_*eet 12

基本上你不能.分别测试基类方法,以便您对此有信心,然后可以依赖基类行为测试派生类.

(这是另一种情况,其中组合提供了比继承更多的控制 - 如果你的派生类改为组成基类,你可以使用模拟或其他代替.当然,它不总是合适的,但是...)