Мой начальник на работе решил, что было бы неплохо написать модульные тесты для Java-программы, над которой я работал некоторое время. Программа - ваш довольно типичный беспорядок, но он не огромен. Я никогда не использовал или не писал никаких модульных тестов раньше, и из всего, что я читал по этому предмету, ранее существовавший проект - не лучшее место для начала. У меня действительно нет выбора, поэтому у меня есть некоторые вопросы.С чего начать писать модульные тесты
Мой главный вопрос: я много читал о том, что должны делать модульные тесты, каковы их масштабы, как написать производственный код в процессе TDD и т. Д. Мне еще нужно найти кого-либо, кто рассказывает о том, куда должен идти код. Я пишу свои тесты в самих классах производственного кода? Я помещаю их все в отдельный файл .java (или файлы)? Я помещаю их в свой собственный каталог в проекте? Если я использую один из последних вариантов, как мне получить доступ к частным объектам и методам, чтобы их проверить? Я чувствую, что это должен быть довольно очевидный вопрос, но я просто не знаю.
И вторичный вопрос: я видел много убедительных аргументов в пользу использования TDD, и я хотел бы попробовать его в моих личных проектах. Какой бы ответ на мой первый вопрос не был прав для запуска совершенно новых проектов? Или я буду выполнять отдельные тесты по-разному для ранее существовавших проектов, а не для новых?
Есть миллионы результатов поиска, которые отвечают на одни и те вопросы, которые вы задаете - с просьбой еще раз здесь, на SO кажется довольно отходы времени. – KevinDTimm
У вас проблемы, разделение тестов - тривиальная проблема. Основная проблема заключается в том, что код не будет записан для тестирования, и для его проверки вам придется изменить его, и у вас нет модульных тестов, чтобы доказать, что изменения t = вы делаете для проверки, что они не сломались Это. Если он маленький, обработайте свой текущий код как Proof Of Concept, начните снова и сделайте это с помощью TDD, то есть правильно. –
Все в порядке - отлично, даже - чтобы добавить тесты к уже существующим проектам. Это может показаться немного более трудным, потому что вам придется сделать начальный толчок, а не наращивать его постепенно. Вероятно, вы обнаружите, что в этом процессе вам придется реорганизовывать классы, чтобы сделать их более компактными и модульными, что даже может сделать код менее беспорядочным. – yshavit