Добрый день, уважаемые Джаварашеры! Вот в связи с прохождением курса возник вопрос, а как вы тестируете написанные вами классы? Например в задании на сортировку 20 переменных надоедало каждый запуск вводить эти 20 цифр и нажимать "enter".. Может быть вы подскажите как можно автоматизировать запуск метода main() и ввода такого количества данных??
P.S. Как по мне так проще написать еще пару строк кода, чем как "обезьянка" тыкать в кнопочки для тестирования небольшого изменения в бесконечном количстве этих if'ов.
myromeu
11 уровень
1) Самый простой — копировать/вставить. Программа остается как есть, после запуска в поле ввода вставляете скопированные, заранее приготовленные данные (да, сразу все 20 строк). Жмете Enter. результат аналогичен двадцати введенным вручную строкам.
2) Простой — подмена источника ввода данных. На время решения, тестирования задачи вместо ввода с клавиатуры Array/List/Map/Переменные заполняете жестко в программе. Т.е. фактически данные Вы набираете один раз. Тут главное перед отправкой на проверку не забыть прописать «нужный ввод»)
3) Продвинутый — JUnit с вариациями. Расписывать не буду, все гуглится. Этот способ самый верный в плане прокачки программера. Понадобится в жизни в любом случае. Однозначно must have, но требуется доп.время на освоение.
Изложил основные, на мой взгляд, варианты. В принципе, думаю этого достаточно.
Я думал, что еще как вариант можно писать дополнительный свой класс со своим main() и оттуда запускать программу, вводя данные автоматически( т.е. перенаправляя ввод или как это называется?). Хотя наверное получится тоже самое как при задании переменных жестко в программе.
О том как использовать JUnit с Idea вроде можно почитать на сайте JetBrains (на английском). Опять-таки, поиск в помощь.
Да, все верно, разница не большая. Просто решение программы разбивается на методы, выполняющие разные функции: ввод данных, обработка данных, вывод на экран и т.д. Можно написать несколько методов ввода данных, различающихся по механике ввода и в main вызывать нужный. Но опять же, если уровень знаний совсем начальный, то не стоит пока с этим заморачиваться, это может только запутать.