Срок выполнения задания:
В среде Intellij Idea создать проект Maven по шаблону quickstart. Убедиться в появлении веток java/main
и java/test
в разделе src
проекта, а также файла с конфигурацией pom.xml
в корне проекта.
Добавить в проект код программы Program.java, содержащий реализацию игры "Крестики-Нолики" с использованием минимаксного алгоритма.
Далее, построить проект и убедиться, что приложение запускается без ошибок и работоспособно.
Добавить в проект модульные тесты, покрывающие основной функционал классов и методов. В этой работе упор делается не на качество самих тестов, а на их количество и процент покрытия исходного кода.
В pom.xml поместить зависимость пакета для генерации отчета по покрытию:
<build>
<plugins>
<!-- Code Coverage report generation -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.9</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>generate-code-coverage-report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
После запуска тестов найти в разделе target проекта ссылку на отчет (target/site/jacoco/index.html
) и открыть его в браузере.
В данной работе необходимо добиться покрытия минимум 60% исходного кода.
Скриншот отчета сохранить в файле report/coverage.png
Загрузить проект на GitHub и убедиться в работоспособности проекта через сценарии GH Actions.