Коммиты:
Коммиты:
Ресурсы:
- Строки в Java
- Кодировка в Java
- Ошибки при использовании строк
- Обработка строк в Java
- Руководство по String pool в Java
- Дополнительно:
2. Исключения
Коммиты:
Ресурсы:
- Обработка ошибок. Исключения
- Исключения (Exceptions)
- Статья про исключения
- Про исключения также можно почитать в книге Джошуа Блоха - "Java. Эффективное программирование"
- Руководство по конструкторам
- Ключевые слова: this, super
- Дополнительно:
Коммиты:
Ресурсы:
- Руководство по аннотациям в Java (
для общего знакомства. Не сидите долго на этой теме) - Reflection для начинающих (youtube)
- Руководство по Java Reflection API
- Java Reflection Example Tutorial
- Дополнительно:
В нашем проекте Reflection используют JUnit и будут использовать библиотеки работы с XML и JSON
- Фреймворк для модульного тестирования JUnit
- Тестирование с помощью JUnit (Test Case)
- Тестирование кода Java с помощью фреймворка JUnit (youtube)
Часть I:
- В классе
MainReflectionвызовите у объектаResumeметодtoStringс помощью рефлексии. Выведите результат в консоль (освойте основы рефлексии на уровне, достаточном для выполнения задания — сильно углубляться не нужно) - Скачайте зависимости для
JUnit 4: - Вручную добавьте скачанные зависимости в проект: нажмите
Ctrl + Alt + Shift + S->Modules->Dependencies->+->JARs or Directories.... Затем выберите скачанные jar-файлы - Реализуйте с помощью
JUnit 4тестовые классы:AbstractArrayStorageTest,ArrayStorageTestиSortedArrayStorageTest - Поместите тестовые классы в пакет
junit4 - Реализуйте тесты для всех public-методов, которые проверяли бы как их штатную работу, так и все выкидываемые исключения
Часть II (приступайте только после проверки первой части наставником):
- Создайте пакет
junit6и скопируйте в него тестовые классы из пактаjunit4 - Добавьте зависимости для
JUnit 6: - Адаптируйте классы
AbstractArrayStorageTest,ArrayStorageTestиSortedArrayStorageTestподJUnit 6 - Пакет
junit4должен остаться — не удаляйте его
- Используйте в
AbstractArrayStorageTestконструктор для инициализации поляStorage storage, а в его наследниках добавьте конструкторы, которые будут вызыватьsuper()с нужным хранилищем SortedArrayStorageTestдолжен создавать экземплярSortedArrayStorage, аArrayStorageTestэкземплярArrayStorage- Тестировать правильность сортировки не надо
- Во всех тестах проверяйте
Resumeцеликом. Проверки толькоuuidнедостаточно - Иерархия наследования тестовых классов должна совпадать с иерархией тестируемых (учитывайте для всех нынешних и будущих классов)
- Логика реализации теста на переполнение массива (
StorageException):- заполняем массив, но не вызываем у него переполнение
- если при заполнении вылетит исключение, то тест должен провалиться (используйте
Assert.fail()1, 2) - в
fail()выводите сообщение о том, что переполнение произошло раньше времени - тест считается успешно пройденным, когда переполнение происходит при попытке добавить в полностью заполненный массив еще одно резюме
- Если при запуске тестового класса возникает ошибка
Test class should have exactly one public zero-argument constructor, то нажмите два раза Shift и напишитеEdit Configurations. В открывшейся вкладкеRun/Debug Configurations, удалите в левой панели все запускаемые с JUnit классы

