У меня есть класс, который имеет внутренний метод, и я хочу издеваться над внутренним методом. Но я не могу издеваться над ним, то есть он не вызывает издеваемую функцию, а вызывает исходную функцию. Есть ли способ достичь этого?Как отладить внутренний метод класса?
Редактировать: На самом деле я новичок в Moq. У меня есть много классов и методов классов для тестирования с использованием Moq. Многие классы являются внутренними, многие из них имеют внутренние методы, многие из них не имеют виртуальных методов. И не может изменить подпись на методах и классах. Может кто-нибудь, пожалуйста, дайте мне знать, как пройти тестирование этого сценария с помощью Moq. Или, пожалуйста, предложите мне другую структуру тестирования, с которой легко учиться и легко работать.
Действительно, насмешливый частные методы типична код запах. – mikek
Я категорически не согласен: если вы делаете TDD, то насмешливое внутреннее вещание - обычное, повседневное ... –
@Thomas - Я понимаю вашу точку зрения. Но вы должны понимать, что классическая стратегия определяется как тестирование поведения классов, как правило, с помощью интерфейса, а не его внутренняя реализация, поскольку это тесно связывает ваши тесты с внутренней реализацией и вызывает инерцию и поломку при рефакторинге. Я должен сказать, что вы в меньшинстве, с вашим мнением. примечание: я прочитал немного вашего блога и знаю, что вы достаточно вдумчивы, и TDD вам дорог - я просто не согласен с вашими разногласиями. ;-) –