Основы Mockito: Метод Mockito.when для определения возвращаемого значения

  Рет қаралды 5,038

Дмитрий Финашкин

Дмитрий Финашкин

2 жыл бұрын

Основы Mockito: Метод Mockito.when для определения возвращаемого значения
Код доступен тут: github.com/DmitrijsFinaskins/...
В видео мы говорим о том, как мы можем указать что возвращает метод в тесте, если обычно эти данные берутся со стороннего сервиса. Или если при создании mock объекта мы не определили значение переменной и хотим получить определенное значение этой самой переменной, вызвав метод
Для тех кто хочет поддержать канал и стимулировать более частое появление видео:
TON кошелек ton://transfer/EQDaRh6x4f9zH1pQzt8lhJPE70eltVzYB-phi83BunLg6X2y
Ethereum кошелек: 0xfb654C91AC122e911db97435d491c3d919F6d8D5
PayPal: www.paypal.com/paypalme/DFina...
Группа ВК - rocketjava
Telegram - t.me/DmitrijsFinaskins
Мой сайт - dataguru.guide
Twitter - / dfinaskins
Linkedin - / dmitrijs-finaskins-a69...

Пікірлер: 16
@user-lk2if5yz9b
@user-lk2if5yz9b 2 жыл бұрын
Где то Москито, где то Мохито)
@user-jj6pp7ic3k
@user-jj6pp7ic3k 2 жыл бұрын
Автор ролика, спасибо за видео, для меня это отличная информация. Прошу, не прекращай снимать подобные видео.
@user-jj6pp7ic3k
@user-jj6pp7ic3k 2 жыл бұрын
Я совсем только начинаю изучать Java, для меня это было полезной информацией, по крайней мере я понял для чего нужны некоторые методы mock и как им вообще пользоваться.. Человек старается для нас, если не можете ничего полезного сказать или не довольны видео, ищите другое видео. Дисклеймер для высокомерных и чрезмерно умных людей, которые любят посрать в комментарии и способны только осуждать, прошу вас захлопнуть варежку и не сбивать настрой на помощь таким тупым как я, но желающим получить новую информацию.
@user-dj5rn2tz6q
@user-dj5rn2tz6q Жыл бұрын
Если ты только начал изучать Java, то для тебя рановато лезть в интеграционное тестирование, а конкретно знакомиться с фреймворком Mockito. До него нужно освоить синтаксис языка, после Core, разобраться с Annotations и Reflection Api, попробовать Maven и модульное тестирование (JUnit) - минимальный минимум, по моему мнению, чтобы понимать, что же у нас происходит на экране. Mockito в основном используется при тестировании приложений на Spring, а до этого уровня владения языком нужно очень много всего понять и попробовать. Удачи.
@mitruslatovous6
@mitruslatovous6 2 жыл бұрын
Спасибо! Все понятно объясняешь.
@DeShepotye
@DeShepotye Жыл бұрын
Благодарю. Ваши видео по mockito очень помогли.
@synarge2027
@synarge2027 Жыл бұрын
Кратко. Быстро. и самое главное ПОНЯТНО Спасибо большое!😊
@TheVendeetta
@TheVendeetta Жыл бұрын
Примеры не очень удачные, мне кажется, ну и немного запутанно с объяснениями. Суть в том, что мы с помощью Мокито эмитируем работу какого-либо метода (который, например, должен связаться с удаленным сервисом и получить какое-то значение). Так вот, чтобы каждый раз не обращаться реально к этому удаленному сервису (это ведь может быть еще и не доступно), мы просим Мокито сначала создать фейковый объект, а затем сымитировать работу его методов так, как мы этого ожидаем(или же, подставляем любое значение, которое хотим проверить. В тч можем попросить выкинуть исключение). Это позволит нам выполнить тестирование нашей логики (без внешних подключений), использую в том числе метод, который должен обращаться к удаленным сервисам. Стоит учесть, что если мы создаем объект с помощью метода mock или аннотации mock, его методы ничего делать не будут. Т.е. если создать фейковый объект ArrayList, например, то в результате вызова метода add с любым параметром, объект в наш лист не добавится. Так же объекты можно создавать с помощью метода и аннотации spy. Здесь уже методы будут выполнять свои функции. Вообщем, я это понял примерно как-то так)
@kandidat8134
@kandidat8134 2 жыл бұрын
подменяем значение и его же получаем, и что мы тут протестировали?)) там должен быть метод внутри тестируемого метода и вот его возвращаемое значение мы подменяем с помощью when, изолируя метод от внешних зависимостей. что-то такое было сказано вначале, но примеры вообще сути не раскрывают.
@plyha07
@plyha07 2 жыл бұрын
Согласен, так никто не тестирует, по сути такие тесты буду проходить всегда, даже если метод давно сломался ..)
@Papont
@Papont 2 жыл бұрын
не уловил разницы между 2 последними примерами
@mitruslatovous6
@mitruslatovous6 2 жыл бұрын
В первом примере тестируем метод testInt(), во втором метод getOwner(). Для этого мы программируем стабы для ансверсов (там где вэны).
@kandidat8134
@kandidat8134 2 жыл бұрын
ее и нет
@emrahhakan5462
@emrahhakan5462 5 ай бұрын
все хорошо спасибо кроме одного. Когда рассказываешь постоянно посторонние звуки, проглатывание, дыхание и т.д. очень сильно отвлекает... 😕
@user-kuzya2023
@user-kuzya2023 Жыл бұрын
public class Car { public int testInt(int a){ return a+4; } } ----------------------------------------- public class CarTest { @Test void remoteServissReturnValue(){ Car newCar = Mockito.mock(Car.class); assertEquals(9, newCar.testInt(5)); // Expected :9 Actual :0 Почему действительный 0? when(newCar.testInt(4)).thenReturn(10); assertEquals(10, newCar.testInt(4));
@user-jj6pp7ic3k
@user-jj6pp7ic3k 2 жыл бұрын
Автор ролика, спасибо за видео, для меня это отличная информация. Прошу, не прекращай снимать подобные видео.
Ouch.. 🤕
00:30
Celine & Michiel
Рет қаралды 19 МЛН
Java. Лямбда-выражения.
23:47
Sergey Arkhipov Java Tutorials
Рет қаралды 32 М.
Spring Boot. JUnit 5. Пишем первый юнит-тест
20:30
ТЕСТИРОВАНИЕ НА JAVA (JUNIT, MOCKITO)
9:14
Джавист
Рет қаралды 29 М.
Основы Spring: Аннотация @Bean
10:31
Дмитрий Финашкин
Рет қаралды 8 М.
Java. Азы тестирования Mockito
28:47
Kirill Chokparov
Рет қаралды 36 М.