Я пишу jUnit тестовые примеры для трех целей:
- Чтобы мой код удовлетворял всем требуемым функциям, под всеми (или большей частью) комбинациями/значениями ввода.
- Чтобы я мог изменить реализацию и полагаться на тестовые примеры JUnit, чтобы сказать мне, что все мои функциональные возможности все еще удовлетворены.
- Как документация обо всех случаях использования моего кода, и выступать в качестве спецификации для рефакторинга - должен ли код когда-либо быть переписан. (Рефакторируйте код, и если мои тесты jUnit не пройдут - вы, вероятно, пропустили какой-то прецедент).
Я не понимаю, почему или когда Mockito.verify()
следует использовать. Когда я вижу вызываемый verify()
, он говорит мне, что мой jUnit осознает реализацию. (Таким образом, изменение моей реализации нарушит мои jUnits, хотя моя функциональность не была затронута).
Я ищу:
-
Какими должны быть руководящие принципы для соответствующего использования
Mockito.verify()
? -
Является ли это принципиально правильным для jUnits, чтобы быть в курсе или тесно связан с реализацией тестируемого класса?