1.15M
Category: programmingprogramming

Java. Лекция 9

1.

2.

Глава 11.1
Тестирование кода

3.

Тестирование
• В больших проектах изменение одной строчки кода
может повлечь неожиданные эффекты/баги
• Тесты помогают зафиксировать текущее поведение
программы, что увеличивает качество кода
• На ранних этапах написание тестов замедляет
разработку, на поздних - ускоряет

4.

Тестирование:термины
• Мы не стремимся покрыть сегодня все возможные
темы про тесты.
• Расскажу за свой опыт, и наиболее частые кейсы
• Юнит тест – тест класса «в изоляции» от других классов
• Интеграционный тест – тест класса в связке с его
другими классами – зависимостями
• Mock – «фальшивый объект», подменяющий
настоящий.
• Assert - проверка

5.

Вопросы и ответы

6.

Глава 11.2
Рефлексия

7.

Информация о классах в рантайме
• Когда JVM стартует программу, она загружает классы в
свою память
• Во время запуска, с эту информацию можно получать
• Более того, можно создавать классы, получать списки
полей, вызывать методы (даже приватные), менять
значения полей
• Это очень не рекомендуется использовать для бизнес
логики, однако хорошо подходит создания
фреймворков.

8.

Класс “Class”
• Содержит всю мета-информацию о классе
• Имя
• Методы
• Поля
• Аннотации
• Модификаторы

9.

Класс “Class”

10.

Аннотации
• По большому счету аннотации не несут никакой
нагрузки, кроме некой информации для пользователя а
так же для рефлексивного кода

11.

Аннотации
• У аннотации можно настроить область видимости:
• В исходном коде
• При компиляции
• В рантайме
• Так же у аннотации можно сказать, над чем ее можно ставить
• Поле
• Класс
• Метод
• Итд
• У аннотации могут быть параметры

12.

Аннотации
Хотим видеть
ее в рантайме
через
рефлекшен
Над чем можно
ставить
Параметр

13.

Поищем аннотацию в рантайме

14.

15.

16.

Давайте писать свой ормфреймворк!!!

17.

Вопросы и ответы

18.

А давайте вызовем приватный метод?

19.

Великолепный план, Коля, если я правильно понял
Надежный, как швейцарские часы

20.

А давайте вызовем приватный метод?

21.

А давайте вызовем приватный метод?
Включаем
режим
«слабоумие и
отвага»

22.

А давайте вызовем приватный метод?

23.

Вопросы и ответы
English     Русский Rules