Spring Boot - Тестовое задание

Поделиться
HTML-код
  • Опубликовано: 12 ноя 2024

Комментарии • 38

  • @GrabDuck
    @GrabDuck  3 года назад +1

    Работа в IT Германия! Ищем сотрудника для работы в немецкой команде
    Backend developers! Java,Spring, web development
    Tech Slack:
    - Java
    - Spring Framework
    - Microservices
    - swagger / open API
    - kubernetes / docker
    - PostgreSQL Mongo DB
    - Pluspunkt: Camunda BPM, Solr
    Experience 4 years + desired
    This is a great opportunity to join a team with a modern and friendly culture.
    Sent your CV at info@econor.io
    Поддержка на первое время в Германии!

  • @vitaliytv8324
    @vitaliytv8324 8 лет назад +8

    спасибо Вам за видео - все супер , выкладывайте примеры с реальных проектов , я думаю идея гуд

  • @sresetnjak
    @sresetnjak 8 лет назад +4

    Хорошо и наглядно все показываете, было бы интересно посмотреть видео на тему Spring Security а так же написание тестов.

    • @GrabDuck
      @GrabDuck  8 лет назад

      По Spring Security будем что-то снимать, вы не первый, кто спрашивает. Что-то конкретно интересует из Spring Seciruty? Тот же вопрос по написанию тестов - что интересно посмотреть?

    • @sresetnjak
      @sresetnjak 8 лет назад

      GrabDuck! В принципе идеально уже взять готовый REST+Angular (тот что был в уроках ранее), добавить регистрацию, авторизацию и вывод контента в зависимости от группы, например гость, юзер и админ.
      По тестам, мне так надо с нуля, я однажды только заглядывал в Cucumber на c# но далеко не углубился, решил все же яву изучать. Огурчик есть и на спринг )

    • @GrabDuck
      @GrabDuck  8 лет назад

      Ок, спасибо за идею. Что-нибудь подобное наверное и снимем.

  • @danilanevazhno6330
    @danilanevazhno6330 8 лет назад +4

    Евгений, спасибо за видео. Очень круто!

  • @EvgeniiSuvorov
    @EvgeniiSuvorov 8 лет назад

    Замечательный урок!
    Теперь буду смотреть все остальные видео!

    • @GrabDuck
      @GrabDuck  8 лет назад

      Спасибо. Ловите github.com/esurovtsev/goEuroTest

  • @fr3nzy1111
    @fr3nzy1111 7 лет назад

    Спасибо большое, очень интересный пример, грамотно и ясно излагаете. Почерпнул для себя много нового, ввиду того что я джун.

  • @jonik_doit4463
    @jonik_doit4463 5 лет назад

    вот на 32:54 для каких целей метод doWrite создается? Там всего 1 строка кода, не разумнее ее было оставить в методе write? Это для того, чтобы при тестировании проще понимать где код сыпется?

  • @ВиталийПугач-к8ю
    @ВиталийПугач-к8ю 8 лет назад +6

    Спасибо Вам!

  • @Archik4
    @Archik4 7 лет назад +2

    Не работает уже ссылка http error 406 И только в отладчике это понял, в логах мне писало просто Application startup failed.

  • @ВячеславГуссер-м6ь

    Я не совсем понял смысла Immutable коллекций в данном контексте, да ее нельзя расширять и удалять из неё, но ведь объекты же в ней менять можно, так как они мутабельные, ещё когда в апи появятся новые поля, скорее всего api client упадёт, потому что у Jackson если я не ошибаюсь по умолчанию поведение такое, что если он находит неизвестные поля, то он выбрасывает исключение. Извините если я где-то ошибаюсь

  • @anu8is930
    @anu8is930 6 лет назад

    А как записать в ЦСВ новую колонку со списком или мепом, который присутствует в респонсе?

  • @katevasinaaaa
    @katevasinaaaa 7 лет назад

    Класс, продолжайте,очень интересно)

  • @vasyagostroy
    @vasyagostroy 7 лет назад

    класс. ты очень хорошо рассказуешь. по делу и с рабочим кодом. пару фишек и себе забрал. но у меня вопрос. ты в доменной модели Suggestion используешь примитивы int/long/double . не опасно ли это? если бы ты данные с бд с Hibernate тащил, то вместо null получил бы 0, что не верно. Думаю, Jackson и другии б-ки сериализуют так же.

    • @GrabDuck
      @GrabDuck  7 лет назад

      Да ты прав, сам всем рассказываю что для JSON сериализации нельзя использовать примитивы, потому что тогда "нет значения" трансформируется в 0 (что как бы валидный результат). Поэтому, на текущем уровне понимания вопроса, я бы сказал так, если значение должно быть, то в доменной модели я бы по прежнему использовал примитивы, с ними проще работать, за целостностью данных все равно нужно смотреть и отслеживать, если значения не те. На выдачу во внешний мир, например сериализация в JSON, лучше использовать полноценные объекты, тогда тот же Jackson настраивается чтобы на null просто пропускал все свойство, что явным образом сигнализирует, что оно (свойство) не определено.

  • @leodev87
    @leodev87 6 лет назад

    Не совсем понимаю почему то автовайрим объекты то через new как маппер. Почему бы не придерживаться одной идеологии?

  • @spellproff
    @spellproff 7 лет назад +6

    Зачем что-то лепить от ламбока, если можно обойтись try-catch-resource?

  • @GrabDuck
    @GrabDuck  8 лет назад +1

    Онлайн-курс от GrabDuck.com:
    В данном видео посмотрим пример взаимодействия с реальным REST сервисом. Будем по REST получать какие-то данные и конвертировать их в CSV формат. Сама идея подобного примера взята из реального тестового задания, которое компания предлагает выполнить соискателям на свою позицию.
    Будем использовать Spring Boot, RestTemplate, а также библиотеки Apache HttpComponents с HttpClient и Jackson для работы с JSON и CSV. Посмотрим, как выполняется генерация в формат CSV с использованием Jackson.
    Приглашаем Вас регистрироваться на grabduck.com

  • @Виталий-ь4т
    @Виталий-ь4т 8 лет назад

    в какой версии jdk конкатинация оптимизирована ?

    • @GrabDuck
      @GrabDuck  8 лет назад

      Сложно сказать точно. Тут stackoverflow.com/questions/1532461/stringbuilder-vs-string-concatenation-in-tostring-in-java вот рассуждают, что в 1.6 уже была

    • @Виталий-ь4т
      @Виталий-ь4т 8 лет назад

      thnx

  • @GAVVVR
    @GAVVVR 8 лет назад

    33:50 как предполагается протестировать приватный метод?

    • @GrabDuck
      @GrabDuck  8 лет назад

      Вроде я об этом говорю на 33:50 ;-) - вы можете в тесте подсунуть StringWriter в качестве параметров и потом проверить через StringWriter.toString(), то, что строка (а не реальный физический файл) была сохранена корректно, т.е. схема задана с правильными полями, объект dto соответствует схеме и т.д.

    • @GAVVVR
      @GAVVVR 7 лет назад

      Это я примерно понял. У меня вопрос возник по поводу того, что он private :)

    • @GrabDuck
      @GrabDuck  7 лет назад

      Ну так, как говориться "one step at a time". Выносите функциональность в отдельный приватный метод из соображений изложенных в 33:50. Потом приступаете к написанию теста на метод, выясняете, что не работает, потому как метод приватный, идете и меняете private на package и маркируете метод @VisibleForTesting ;-) Вся цепочка в видео не влезла )

  • @MsUnclefucker
    @MsUnclefucker 8 лет назад

    Интересный урок! Дайте код в доступ поклацать самому!

    • @GrabDuck
      @GrabDuck  8 лет назад

      Было уже в другом комменте. Поправлю описание. Держите github.com/esurovtsev/goEuroTest

  • @12zxqwas1
    @12zxqwas1 7 лет назад

    Юнит тестов крайне мало.

  • @ВалераДементьев-н6з

    Палец вверх)