![](https://habrastorage.org/r/w780/getpro/habr/upload_files/b62/a68/037/b62a680373f1b3e392d3aca21b594fc0.jpg)
Продолжаю серию публикаций про наши Java-онлайн курсы. Предыдущие посты
— Контроллеры на дженериках: пишем кода в 3 раза меньше
— Миграция Java Spring Boot на Kotlin
— Работа с документами в Java
Сразу предупрежу: точно так же, как в контроллерах на дженериках сами контроллеры не параметризируются, здесь мы НЕ БУДЕМ параметризировать сами классы тестов. Поэтому не спешите писать комментарии, не прочитав статьи, что это «Bad practice». По поводу усложнения кода заранее отвечу так же, как и в комментариях к статье про контроллеры — код тестов и их написание становятся проще, за счет усложнения инструментов (собственно на этом и строится разработка фреймворков и ООП). Можно считать приведенные здесь подходы слоем абстракции, праметризирующий подход популярной библиотеки AssertJ к сравнению объектов и расширяющий его на сравнение json объектов.
Кому интересно: