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