Инструкции по настройке тестов (в том числе кастомных) для домашек по Java Advanced.
Также в репозитории находятся новые старые тесты, на которых может быть очень полезно погонять ваше решение.
Склонируйте реп и откройте его в IDEA.
> git clone https://www.kgeorgiy.info/git/geo/java-advanced-2021
Все должно светится красным.
Открываем File -> Project Structure -> Modules
, видим следующую картину:
Теперь нам надо добавить в сурсы модулям base и walk либы, которые у нас лежат в виде джарников.
Делается это так - нажимаем на модуль, нажимаем на +
, выбираем library
, открывается такое меню:
Здесь надо выбрать папку lib
. Повторяем это для обоих модулей.
Это важный чекпоинт - сейчас у вас не должно быть красных подчеркиваний в Гошиных файлах. Если это не так, перезапустите IDEA.
Создаем свой модуль. Для этого во всё том же Project Structure
нажимаем +
над списком модулей,
следуем по инструкции, кладем его в пакет к двум другим модулям.
Теперь аккуратно, следите за руками. Надо открыть наш модуль, в нём вкладку Sources
и удалить оттуда
папку src
(физически папка не удалится).
После этого надо добавить туда корень нашего модуля (он отображается как .
).
Далее, надо добавить нашему модулю в сурсы либы и Гошины модули. Либы мы уже добавляли, модули добавляются так же.
Теперь в модуле нужно создать module-info именно с таким контентом. Затем создаём в нашем модуле пакет с названием как у модуля и внутри - наши файлы с решением. Это почти все.
В нашем пакете создаем CustomTester. Он экстендит Гошин оригинальный тестер без
изменений кроме psvm
потому, что мы не хотим менять оригинальные тесты.
Кроме этого, создаем там же CustomTest. Это файл, где мы будем хранить кастомные тесты.
Ремарка: можно не экстендить RecursiveWalkTest
, тогда при запуске конфигурации будут гоняться
только кастомные тесты.
Теперь идем в конфигурации, нажимаем Add Configuration... -> + -> Application
, конфиг делаем
в точности такой (имя можно менять):
Все. Теперь при запуске этой конфигурации у вас будут гонять все тесты. Если хотите запустить только
Гошины, то в строке Program arguments
замените Custom
на те тесты, которые вам нужны
(вероятно, Recursive
).
Авторский совет — решайте таски в своём клоне этого репозитория (где тесты), а когда решили — пушьте в личный репозиторий. Дальше гайд от меня, как сделать ваш опыт сдачи чуть приятнее и удобнее.
Когда клонируете свой репозиторий, используйте команду
> git clone http://ФАМИЛИЯ_ИМЯ:ПАРОЛЬ@www.kgeorgiy.info/git-students/year2019/ФАМИЛИЯ_ИМЯ/java-advanced
Если же вы уже клонировали его, то можно использовать команду
> git remote set-url origin http://ФАМИЛИЯ_ИМЯ:ПАРОЛЬ@www.kgeorgiy.info/git-students/year2019/ФАМИЛИЯ_ИМЯ/java-advanced
КОММЕНТАРИЙ ОТ КГЕОРГИЯ: Пожалуйста, не надо так делать!
- Вы клонируете репозиторий по http (а не https)
- Для этого есть специальный механизм, который работает всегда, а не только с некоторым схемами URL.
Как можно понять, вы просто сразу задаете гиту свои логин и пароль, запоминая их на будущее. Теперь вам не придется вводить их каждый раз когда вы пушите. Это же поможет нам использовать bash-скрипт.
Этот скрипт сделает рекурсивную копию вашего модуля, игнорируя файлы IDEA и module-info.java
,
а также все .java
файлы, имеющие суффикс Test
или Tester
.
Помните, что скрипт может насрать, если вы предварительно не запуллили Гошины правки/замечания с помощью другого замечательного скрипта.
Да, есть. Процесс точно обобщается и для них. Каждый раз, когда выкладываются тесты, не забывайте пуллить их к себе в этот репозиторий, и жизнь ваша будет хороша.