спасибо, отличное видео. Без воды, на адекватных, понятных любому, примерах 🤘🏻
@goro58237 күн бұрын
1:19 в setUp можно еще кастомное исключения прокидывать, но если я буду кидать обычный Exception, это плохая практика или нет? .setControllerAdvice(new Exception("Exception")).build;
@JIockjoy13 күн бұрын
MockitoAnnotations.openMocks(this);
@themukha17 күн бұрын
Я уже больше 3 лет занимаюсь автоматизацией тестирования бэкенда и только узнал о методе asserThrows🤣 Мдэ, позор мне
@whitelight881117 күн бұрын
Смотреть всем
@eosreign81821 күн бұрын
Довольно хороший контент делаешь, всегда пересматриваю твои ролики если забыл как использовать те или иные технологиию. Пожалуйста, продолжай снимать еще учебные ролики
@666kirillka28 күн бұрын
Жаль,забросили выпуск видео,понятная подача
@asgzxbaasg976628 күн бұрын
красавчик, может когда-нибудь напишу свой первый полезный тест
@lesechkoАй бұрын
Присоединюсь к комментариям. Как раз то, что нужно. Задал конкретный вопрос - получил конкретный ответ без воды и лишней мишуры с хорошей речью и темпом. По этому поиску только 2 видео в подобном формате. Остальные на 30 минут что-то рассказывают. Спасибо и успехов!
@user-ef2mm2ux2hАй бұрын
Хочется новых роликов, очень круто и понятно объясняется, очень легко зайти и вспомнить некоторые моменты) Хотелось бы что нибудь про spring security
@user-wb7zt3cc5iАй бұрын
Сразу все стало понятно. Спасибо!
@turpalbaysarov4354Ай бұрын
Насколько чётко, быстро и понятно объясняешь. От души <3
@raccoon8230Ай бұрын
Спасибо
@John.Constantine.7772 ай бұрын
почему у меня при загрузке проекта из хаба в IDEA системных директории не помечены, импорты не грузятся, ничего не работает?
@javistt2 ай бұрын
Без понятия
@sovietunionmissionary2 ай бұрын
Главное не объявлять внутри сервиса финальным то, что будем потом внедрять туда как мок. По крайней мере у меня так, не работала аннотация InjectMocks пока не убрал final.
@user-ug2es7lr8t2 ай бұрын
Обычно ютуб смотрю х2, у тут хочется замедлить )
@AdventureDeveloper2 ай бұрын
Очень классная подача материала, спасибо!
@whatyoumean14982 ай бұрын
Есть желание поддержать) Очень хорошее видео. Экстремально рекомендую к просмотру.
@user-hv2ih5tn9e2 ай бұрын
Не удержался от комментария - супер полезно, супер доходчиво, супер ёмко - респект!
@9080artur2 ай бұрын
по кайфу
@dreamer_vi9052 ай бұрын
500 денег этому автору))
@vladimiregorov61872 ай бұрын
Отличный видос, коротко и понятно, спасибо большое!👍
@user-lh9vc1kb6q2 ай бұрын
Огромная вам благодарность за то что так доходчиво обьясняете!
@selftishz31512 ай бұрын
Отличная подача: речь - супер топ
@EdwardNorthwind2 ай бұрын
Классно, что не остановился на калькуляторе. Хотя стоило больше внимания уделить, а зачем тестировать вроде бы очевидные и простые методы... А то именно по этой причине я и забиваю на тесты. Ну тут же всё очевидно, так зачем тратить на это время 🤬Тяжело избавится от этой привычки пока не начнешь работать в команде.
@EdwardNorthwind2 ай бұрын
После нашел следующие ролики про тестирование. Так что претензия снята. Так что, народ, если видели лишь данное видео, обязательно посмотрите и другие.
@andreyua22 ай бұрын
А как кеишровать, скажем - через каждых 5 минут автоматически ?
@javistt2 ай бұрын
Подробнее опишите задачу
@andreyua22 ай бұрын
@@javistt Это часть тех. задания: _Разработать Spring Boot RESTful API, который будет обновлять данные в БД и кэшировать ответы через определенные промежутки времени (например, каждые 5 минут)._ Понимайте как хотите)
@andreyua22 ай бұрын
@@javistt так что не будет ответа?
@artemy99Ай бұрын
@@andreyua2 ну очевидно что (обновлять данные в БД и кэшировать ответы) каждые 5 минут, а не только заниматься кэшом каждые 5 минут
@John.Constantine.7773 ай бұрын
теперь понял хоть что такое тесты и почему говорят про свалку мусора вместо тестов у многих разработчиков - двойная работа, которую делаешь хорошо - платят и делаешь на отвали - тоже так же платят. сдается мне реальные тесты пишут только для части кода, который обязательно нужно проверять во избежание крупных материальных потерь заказчика, а остальные либо не пишут либо пишут на отвали
@John.Constantine.7773 ай бұрын
как минимум интересно
@user-hm8wx2us8l3 ай бұрын
блин, супер крутой формат, конечно) реально за 4 минуты -> самый необходимый минимум для начала работы, круто)
@tarielasangulov12733 ай бұрын
Офигенно!
@tarielasangulov12733 ай бұрын
Благодарю за полезную информацию!
@sergeysirmays60103 ай бұрын
Самый короткий и понятный мануал! Я до этого часа 4 просмотрел всего и не мог до конца понять. Спасибо!
@dmitriyaverianov18433 ай бұрын
ещё больше белого, чтобы сломать глаза
@user-lh9vc1kb6q3 ай бұрын
Спасибо огромное за ролики по тестированию сервиса и контроллера. Очень наглядно и понятно!
@user-wk7kd4ky6g4 ай бұрын
Вы спасли мой день, спасибо!
@igormartynenko96484 ай бұрын
Очень крутая подача! Буду рад посмотреть что то подобное про GC и их поколения.
@romankakraz81994 ай бұрын
Это прекрасно!
@KAPYRIN4 ай бұрын
Спасибо большое за видео, но от светлой темы у меня выпали глаза.
@channel-yg2xc4 ай бұрын
Видео хорошее, но паттерн, который ты показываешь, называется strategy. Command - это когда у тебя есть шаблонная логика в рамках некоторого класса, и метод вызова этой логики принимает в качестве аргумента command-класс, обобщенный некоторой абстракцией(интерфейс, базовый класс), содержащий метод, который вызывается в классе с шаблонной логикой. И, как по мне, смысла от command в рамках java + Spring приложении нет, если есть возможность использовать template method. А возможность есть всегда :)
@John.Constantine.7773 ай бұрын
Сдается мне, что паттерн команда - это поведенческий паттерн проектирования, который превращает запросы в объекты, позволяя передавать их как аргументы при вызове методов, ставить запросы в очередь, логировать (вести журнал запросов) их, а также поддерживать отмену операций. Главное в нем это инкапсуляция методов в объекты, их хранение и возможность отмены. А этот паттерн называется не Стратегия, а Состояние, потому как объект, определяющий поведение основного класса содержится в полях этого класса
@channel-yg2xc3 ай бұрын
@@John.Constantine.777 , это если следовать строгому определению. Вопрос скорее в том, может ли Command быть без т.н. операции undo, и обязательно ли она должна содержать состояние. Проще говоря, если вместо класса, имплементитующего некоторый общий интерфейс(ICommand), передавать в метод простой Runnable, в котором через замыкание будет прописана логика, скажем, отправки события в шину сообщений, можно ли это считать Командой? Более того, следовать классическому примеру реализации шаблона Command, на мой взгляд, возможно не всегда: в случае, когда команда отправляет событие в шину сообщений(условный RabbitMQ), применить операцию undo возможности нет. На мой взгляд, в большинстве случаев Command как раз стоит использовать в виде функциональных интерфейсов(анонимных классов), не имющих состояние, а если состояние всё же есть, и команда предполагает нетривиальную и объёмную логику - я бы подумал о Template Method или в некоторых специфических кейсах Bridge, т.к. в случае дальнейшего развития фичи эта команда вряд ли влезет в один метод. Что касается Strategy и State, мне кажется, что пример на видео - это классическая Strategy с использованием механизма dependency injection. Здесь основной момент в том, что у нас есть общий интерфейс для компонентов, предполагающих разное поведение(классический полиморфизм), а "состояние" у нас, во-первых, статическое, неизменяемое, что уже, как мне кажется, противоречит шаблону State, а во-вторых, оно нужно только для того, чтобы положить компонент в ассоциативный массив: мы вполне могли бы обойтись без "инкапсуляции" т.н. "состояния" внутри компонента, положив в хеш-таблицу значения явно указывая компоненты, а не через stream api. Правда, тогда пришлось бы инжектить каждый бин отдельно.
@JanSobolewski19874 ай бұрын
Коротко и ясно рассказал. Like
@baimuhtar81864 ай бұрын
Здравствуйте, подскажите как сейчас проводят автотест на Java c Selenium для входа в аккаунт Google?
@@javistt Но выходит ведь окно, что «этот браузер или приложение небезопасны». И дальше не получается пройти авторизацию.
@olyarashchupkina16564 ай бұрын
Перечитала кучу статей и только из этого короткого видео узнала в чем ошибка…. Что нельзя вызывать транзакцию из того же класса. Еще хотелось бы узнать, почему именно нельзя. Но понятно, что это тема не этого короткого ролика. Спасибо большое!
@user-rs6lw5vy4e4 ай бұрын
спасибо
@kirilldolgopolov36954 ай бұрын
Отоичное видео, спасибо!
@user-rs6lw5vy4e4 ай бұрын
круто! спасибо!
@yaroslavneilo18204 ай бұрын
Класс, спасибо большое! Четко и понятно!
@user-ng4bk2hy1z4 ай бұрын
Очень хорошие видео, спасибо! Был бы очень рад посмотреть видео о интеграционных тестах и тест-контейнерах в твоем исполнении
@user-ls8py2to5p5 ай бұрын
Очень не хватает тестирования Security c JWT
@Hamster_Combat_History5 ай бұрын
Когда новые видео?)
@user-ls8py2to5p5 ай бұрын
В тесте hire как проверить поля объекта, который должен быть сохранен в мокБД? Добавление .andExpect(...), похоже недостаточно, т.к. возвращается null.
Пікірлер
спасибо, отличное видео. Без воды, на адекватных, понятных любому, примерах 🤘🏻
1:19 в setUp можно еще кастомное исключения прокидывать, но если я буду кидать обычный Exception, это плохая практика или нет? .setControllerAdvice(new Exception("Exception")).build;
MockitoAnnotations.openMocks(this);
Я уже больше 3 лет занимаюсь автоматизацией тестирования бэкенда и только узнал о методе asserThrows🤣 Мдэ, позор мне
Смотреть всем
Довольно хороший контент делаешь, всегда пересматриваю твои ролики если забыл как использовать те или иные технологиию. Пожалуйста, продолжай снимать еще учебные ролики
Жаль,забросили выпуск видео,понятная подача
красавчик, может когда-нибудь напишу свой первый полезный тест
Присоединюсь к комментариям. Как раз то, что нужно. Задал конкретный вопрос - получил конкретный ответ без воды и лишней мишуры с хорошей речью и темпом. По этому поиску только 2 видео в подобном формате. Остальные на 30 минут что-то рассказывают. Спасибо и успехов!
Хочется новых роликов, очень круто и понятно объясняется, очень легко зайти и вспомнить некоторые моменты) Хотелось бы что нибудь про spring security
Сразу все стало понятно. Спасибо!
Насколько чётко, быстро и понятно объясняешь. От души <3
Спасибо
почему у меня при загрузке проекта из хаба в IDEA системных директории не помечены, импорты не грузятся, ничего не работает?
Без понятия
Главное не объявлять внутри сервиса финальным то, что будем потом внедрять туда как мок. По крайней мере у меня так, не работала аннотация InjectMocks пока не убрал final.
Обычно ютуб смотрю х2, у тут хочется замедлить )
Очень классная подача материала, спасибо!
Есть желание поддержать) Очень хорошее видео. Экстремально рекомендую к просмотру.
Не удержался от комментария - супер полезно, супер доходчиво, супер ёмко - респект!
по кайфу
500 денег этому автору))
Отличный видос, коротко и понятно, спасибо большое!👍
Огромная вам благодарность за то что так доходчиво обьясняете!
Отличная подача: речь - супер топ
Классно, что не остановился на калькуляторе. Хотя стоило больше внимания уделить, а зачем тестировать вроде бы очевидные и простые методы... А то именно по этой причине я и забиваю на тесты. Ну тут же всё очевидно, так зачем тратить на это время 🤬Тяжело избавится от этой привычки пока не начнешь работать в команде.
После нашел следующие ролики про тестирование. Так что претензия снята. Так что, народ, если видели лишь данное видео, обязательно посмотрите и другие.
А как кеишровать, скажем - через каждых 5 минут автоматически ?
Подробнее опишите задачу
@@javistt Это часть тех. задания: _Разработать Spring Boot RESTful API, который будет обновлять данные в БД и кэшировать ответы через определенные промежутки времени (например, каждые 5 минут)._ Понимайте как хотите)
@@javistt так что не будет ответа?
@@andreyua2 ну очевидно что (обновлять данные в БД и кэшировать ответы) каждые 5 минут, а не только заниматься кэшом каждые 5 минут
теперь понял хоть что такое тесты и почему говорят про свалку мусора вместо тестов у многих разработчиков - двойная работа, которую делаешь хорошо - платят и делаешь на отвали - тоже так же платят. сдается мне реальные тесты пишут только для части кода, который обязательно нужно проверять во избежание крупных материальных потерь заказчика, а остальные либо не пишут либо пишут на отвали
как минимум интересно
блин, супер крутой формат, конечно) реально за 4 минуты -> самый необходимый минимум для начала работы, круто)
Офигенно!
Благодарю за полезную информацию!
Самый короткий и понятный мануал! Я до этого часа 4 просмотрел всего и не мог до конца понять. Спасибо!
ещё больше белого, чтобы сломать глаза
Спасибо огромное за ролики по тестированию сервиса и контроллера. Очень наглядно и понятно!
Вы спасли мой день, спасибо!
Очень крутая подача! Буду рад посмотреть что то подобное про GC и их поколения.
Это прекрасно!
Спасибо большое за видео, но от светлой темы у меня выпали глаза.
Видео хорошее, но паттерн, который ты показываешь, называется strategy. Command - это когда у тебя есть шаблонная логика в рамках некоторого класса, и метод вызова этой логики принимает в качестве аргумента command-класс, обобщенный некоторой абстракцией(интерфейс, базовый класс), содержащий метод, который вызывается в классе с шаблонной логикой. И, как по мне, смысла от command в рамках java + Spring приложении нет, если есть возможность использовать template method. А возможность есть всегда :)
Сдается мне, что паттерн команда - это поведенческий паттерн проектирования, который превращает запросы в объекты, позволяя передавать их как аргументы при вызове методов, ставить запросы в очередь, логировать (вести журнал запросов) их, а также поддерживать отмену операций. Главное в нем это инкапсуляция методов в объекты, их хранение и возможность отмены. А этот паттерн называется не Стратегия, а Состояние, потому как объект, определяющий поведение основного класса содержится в полях этого класса
@@John.Constantine.777 , это если следовать строгому определению. Вопрос скорее в том, может ли Command быть без т.н. операции undo, и обязательно ли она должна содержать состояние. Проще говоря, если вместо класса, имплементитующего некоторый общий интерфейс(ICommand), передавать в метод простой Runnable, в котором через замыкание будет прописана логика, скажем, отправки события в шину сообщений, можно ли это считать Командой? Более того, следовать классическому примеру реализации шаблона Command, на мой взгляд, возможно не всегда: в случае, когда команда отправляет событие в шину сообщений(условный RabbitMQ), применить операцию undo возможности нет. На мой взгляд, в большинстве случаев Command как раз стоит использовать в виде функциональных интерфейсов(анонимных классов), не имющих состояние, а если состояние всё же есть, и команда предполагает нетривиальную и объёмную логику - я бы подумал о Template Method или в некоторых специфических кейсах Bridge, т.к. в случае дальнейшего развития фичи эта команда вряд ли влезет в один метод. Что касается Strategy и State, мне кажется, что пример на видео - это классическая Strategy с использованием механизма dependency injection. Здесь основной момент в том, что у нас есть общий интерфейс для компонентов, предполагающих разное поведение(классический полиморфизм), а "состояние" у нас, во-первых, статическое, неизменяемое, что уже, как мне кажется, противоречит шаблону State, а во-вторых, оно нужно только для того, чтобы положить компонент в ассоциативный массив: мы вполне могли бы обойтись без "инкапсуляции" т.н. "состояния" внутри компонента, положив в хеш-таблицу значения явно указывая компоненты, а не через stream api. Правда, тогда пришлось бы инжектить каждый бин отдельно.
Коротко и ясно рассказал. Like
Здравствуйте, подскажите как сейчас проводят автотест на Java c Selenium для входа в аккаунт Google?
Приветствую. chat.openai.com/share/24f890c2-dd12-4862-9a49-35cb0e6c2114
@@javistt Но выходит ведь окно, что «этот браузер или приложение небезопасны». И дальше не получается пройти авторизацию.
Перечитала кучу статей и только из этого короткого видео узнала в чем ошибка…. Что нельзя вызывать транзакцию из того же класса. Еще хотелось бы узнать, почему именно нельзя. Но понятно, что это тема не этого короткого ролика. Спасибо большое!
спасибо
Отоичное видео, спасибо!
круто! спасибо!
Класс, спасибо большое! Четко и понятно!
Очень хорошие видео, спасибо! Был бы очень рад посмотреть видео о интеграционных тестах и тест-контейнерах в твоем исполнении
Очень не хватает тестирования Security c JWT
Когда новые видео?)
В тесте hire как проверить поля объекта, который должен быть сохранен в мокБД? Добавление .andExpect(...), похоже недостаточно, т.к. возвращается null.