Должны ли частные / защищенные методы подвергаться модульному тестированию?



в разработке TDD первое, что вы обычно делаете, это создаете свой интерфейс, а затем начинаете писать свои модульные тесты против этого интерфейса. По мере прохождения процесса TDD вы в конечном итоге создадите класс, который реализует интерфейс, а затем в какой-то момент ваш модульный тест пройдет.



теперь мой вопрос касается частных и защищенных методов, которые мне, возможно, придется написать в своем классе в поддержку методов / свойств, предоставляемых интерфейс:




  • должны ли частные методы в классе иметь свои собственные модульные тесты?


  • должны ли защищенные методы в классе иметь свои собственные модульные тесты?



мои мысли:




  • особенно потому, что я кодирую интерфейсы, я не должен беспокоиться о защищенных/частных методах, поскольку они являются черными ящиками.


  • потому что я использую интерфейсы, я пишу единицу тесты для проверки того, что определенный контракт правильно реализован различными классами, реализующими интерфейс, поэтому снова я не должен беспокоиться о частных/защищенных методах, и они должны выполняться с помощью модульных тестов, которые вызывают методы/свойства, определенные интерфейсом.


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


639   0  

Comments

    Ничего не найдено.