RhinoMocks - защищенные от мошенничества виртуальные участники - PullRequest
3 голосов
/ 17 июня 2010

Насколько я знаю, RM должен высмеивать все, к чему может получить доступ производный класс.Поскольку защищенный виртуальный член доступен из подкласса, разве он не должен быть насмешливым?

Насколько я понимаю, RM не поддерживает защищенные виртуальные члены.

Ответы [ 2 ]

2 голосов
/ 17 июня 2010

Если я хочу издеваться над защищенным членом, я обычно пропускаю Rhino Mocks и просто делаю его на подклассы с моей собственной ложной реализацией.

1 голос
/ 17 июня 2010

Насколько я знаю, RM должен высмеивать все, к чему может получить доступ производный класс.

Нет.Идея состоит в том, что вы должны быть в состоянии смоделировать поведение зависимостей тестируемого класса.Слово зависимостей используется здесь в том же смысле, что и в внедрении зависимостей .

При разработке через тестирование обычно предпочитает композицию над наследованием ,Зависимости, как правило, скрыты за интерфейсами.

Насколько я понимаю, RM не поддерживает защищенные виртуальные элементы, защищенные от мошенничества.

Это правильно.Существует два кратких и безопасных для типов способа указать, о каком члене класса вы говорите при настройке поведения: путем вызова члена в режиме записи или с помощью лямбда-выражения.Rhino Mocks поддерживает оба, но ни один не может работать для защищенных членов.

...