Я пытаюсь написать единичный тест для абстрактного класса. Более конкретно, у меня есть класс, какКак вызвать защищенный метод абстрактного метода с помощью Reflection?
public abstract class MyAbstractClass
{
// ...
private Something _myPrivateVariable;
// ...
protected void MyProtectedMethod(string[] names) { // ... }
// ...
}
и я хочу вызвать MyProtectedVoid
с параметрами, а затем проверить, что _myPrivateVariable
был установлен на конкретное значение.
Я знаю, как вызвать private
метод экземпляра класса с использованием GetMethod
как в How do I use reflection to invoke a private method?, но я не знаю, как сделать этот тип вещи с abstract
класса, учитывая, что я не могу создать экземпляр из этого.
Вы пытались насмехаться над ним с RhinoMocks? Пример: http://stackoverflow.com/questions/6960459/rhino-mock-an-abstract-class-w-o-mocking-its-virtual-method – MistyK
Вы не должны проверять частную переменную в UT. Проверьте http://stackoverflow.com/questions/1093020/unit-testing-and-checking-private-variable-value и многие другие. – qxg