#java #spring #junit #mockito
#java #весна #junit #mockito
Вопрос:
Я новичок в Junit. Я пытаюсь написать несколько тестовых кодов, но у меня есть вопрос об использовании «Mockito.when». Я знаю, что метод тестирования должен иметь только одно утверждение. Могу ли я использовать «Mockito.when» более одного раза в методе тестирования? Это плохая практика, если я пишу «Mockito.when» более одного раза?
Ответ №1:
Что ж, использование фреймворков для моделирования зависимостей уже является «не очень хорошей» практикой. Это означает, что ваш код не разлагается на использование заглушек для тестирования. Но на практике у нас почти всегда есть какой-то «не очень хороший» код. Вот почему использование таких фреймворков, как mockito, совершенно нормально: гораздо лучше протестировать существующий код, чем пытаться сделать его идеальным навсегда. Итак, ответ прост: вы можете создавать любое количество операторов «when» (или даже «assert»), пока ваши тесты легко читать и поддерживать. Просто убедитесь, что каждый тест ориентирован только на один тестовый пример.
Комментарии:
1. Я бы сказал, что, хотя каждый тест, ориентированный только на один тестовый пример, является хорошей целью, иногда отдельные тесты для всего значительно замедляют процесс тестирования. Более важно, чтобы все было протестировано, чем каждый тест был точно их собственным тестовым примером.
2. @eis Я полностью согласен с вами: иметь тесты намного лучше, чем не иметь тестов. И разработка программного обеспечения основана на разумных компромиссах.