使用Reflection测试抽象类的私有方法

Sam*_*k R 1 c# reflection tdd

如何使用反射(使用C#)测试抽象类的私有方法?我特别感兴趣的是调整这个帖子中的代码.

我知道关于首先测试私有代码的原则的讨论(一般不应该!).由于种种原因,我已经决定为我的情况做这件事,所以我们不要重复那些讨论.其他SO线程(如Q#1583363和1506427)详细讨论了它们.谢谢.

Joh*_*her 5

根据定义,抽象类无法实例化,因此无法直接测试它.您可以使用其中一个模拟框架(如TypeMock.否则,您需要创建一个继承自抽象类的具体类,并将其用于测试.