This repository has been archived by the owner on Apr 9, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Home
Alex Ivanov edited this page May 22, 2019
·
20 revisions
Задания на лабораторные работы по курсу Разработка ПО для Java и RDF4J
- Установить Eclipse с помощью Eclipse Installer
- Изучить работу с Java кодом в среде Eclipse
- Изучить туториал
- Прочитать руководство, прокликать раздел 8 в туториале https://www.vogella.com/tutorials/JUnit/article.html
- В результате прокликивания: создать тестируемый класс, создать JUnit 4 тест, запустить и поиследовать работу
- Сделать с нуля юнит-тест поведения движка SHACL валидации RDF данных
Склонировать (или спулить) репозиторий https://github.com/agentlab/rdf-scheme-editor-server.git
- Импортировать как Maven проект
- Добавить зависимости JUnit в pom.xml
- Проверить, что в зависимостях rdf4j версии 2.5.0
- Создать пустой JUnit тест и запустить его в Eclipse IDE
- Создать два юнит-теста (на корректные и некорректные добавляемые данные) по коду примера https://github.com/eclipse/rdf4j-doc/blob/master/doc/programming/05-custom-sails.adoc#validation-with-shacl
- Настроить JUnit на работу с Maven
- Настроить сборку и прогон теста с помощью maven.
- Убедиться, что всеми зависимостями управляет Maven, что ничего не настроено в Eclipse в обход Maven
- Запустить сборку проекта с прогоном JUnit тестов и убедиться, что тесты прогоняются
- Внести ошибку в юнит-тест (чтобы он выполнялся неуспешно) и посмотреть, что будет при запуске прогона JUnit теста в maven из консоли
4. Тестирование взаимодействующих компонентов движка RDF4J с использованием Mockito. Производительность: профилирование и тесты
- Подключить Mockito версии 2.x к проекту в виде Maven-зависимости.
- Подключить аннотации Mockito https://www.baeldung.com/mockito-annotations
- Ознакомиться с документацией на rdf4j http://docs.rdf4j.org/sail#_notifyingsail_and_abstractnotifyingsail
- Реализовать для задания из п.3 с помощью Mockito mock-объект типа SailChangedListener и подключить его к тестируемому RDF репозиторию. Проверить, что метод sailChanged() вызывается хотя бы раз в тесте с данными, проходящими валидацию и не вызывается ни разу в тесте с некорректными данными.
- Реализовать ArgumentCaptor типа SailChangedEvent для метода sailChanged() mock-объекта. Проверить, что передаваемое в метод sailChanged() mock-объекта событие возвращает true при вызове statementsAdded().
- Установка
- Скачать Apache Karaf и запустить его в отдельном окне консоли.
- Склонировать репозиторий agentlab/karaf-rest-example
- Открыть отдельную консоль (или открыть Eclipse), собрать в консоли (или Eclipse) склоненный репозиторий с помощью Maven и в консоли запущенного Karaf задеплоить собранные артефакты в соответствии с инструкцией agentlab/karaf-rest-example/README.md
- Проверить, что по ссылке http://localhost:8181 выдается справка о создании веб-сервиса, а по ссылке http://localhost:8181/booking веб-сервис возвращает пустой список.
- Настроить Karaf на мониторинг локального Maven-репозитория с помощью команды bundle:watch *
- Исследовать работу веб-сервиса в Karaf
- Добавить в компонент метод-активатор, который добавляет тестовые данные в bookings Документация на аннотации компонентов OSGi