Closed 95shuma closed 4 years ago
потрачено 10 часов, так как наш проект много чем отличаеться от примеров на сайтах, тем что наш проект использует дто и проверка идет в контроллере где в любом случае будет 302(ридайрект). вот поэтому многие изученные материалы не подходили, не работали
изученные материалы:
http://useof.org/java-open-source/org.springframework.validation.BindingResult https://blog.codeleak.pl/2012/03/how-to-method-level-validation-in.html https://stackoverflow.com/questions/38881233/java-test-with-expected-exception-fails-with-assertion-error https://stackoverflow.com/questions/24166167/java-lang-assertionerror-content-type-not-set-spring-controller-junit-tests/24173196 https://stackoverflow.com/questions/52001043/how-to-mock-bindingresult-in-spring-boot-test https://www.viralpatel.net/spring-mvc-flash-attribute-example/ https://www.baeldung.com/spring-web-flash-attributes https://www.baeldung.com/spring-response-entity https://www.baeldung.com/javax-validation https://www.javatpoint.com/spring-mvc-validation
а также перечитал ссылки в тикете 64
попытался проверить контроллеры таким образом но позже выяснилось что тест проверяет не формы а модели. что нам не подходит.
попробовал при проверке контроллера получить атрибут errors который хранит ошибки, но mvcResult.getFlashMap().containsKey("errors"); всегда будет true, тем более, ес не ошибаюсь после ридайекта он удаляется. в идеале было бы хорошо если через mvcResult.getResponse()); получить errors но его там нет
здесь тоже поискал атрибут errors не нашел
вывод: чтобы проверить формы надо проверять обьектом Validator. таким образом можно проверить кол.во ошибок, сообщении ошибок и нужную аннотацию
вот пример:
Что нужно сделать? Нужно найти всевозможную информацию в интернете (Google, Youtube и т.д.) о написании тестов на валидацию
Для чего это нужно? В дальнейшей работе необходимо написать большое количество тестов, т.к. эта информация хорошо не изучена, даём поручение одному разрабочику разобраться с материалом
Как понять, что задача решена? Весь изученный материал, должен быть пересказан команде
Планируемое время выполнения 4 часа