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

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ธ.ค. 2024

ความคิดเห็น • 17

  • @PostMapping
    @PostMapping หลายเดือนก่อน

    Огромное спасибо!

  • @vl-w5s
    @vl-w5s 2 ปีที่แล้ว +11

    Где то Москито, где то Мохито)

  • @ДмитрийБулгаков-ш8х
    @ДмитрийБулгаков-ш8х 2 ปีที่แล้ว +6

    Я совсем только начинаю изучать Java, для меня это было полезной информацией, по крайней мере я понял для чего нужны некоторые методы mock и как им вообще пользоваться.. Человек старается для нас, если не можете ничего полезного сказать или не довольны видео, ищите другое видео. Дисклеймер для высокомерных и чрезмерно умных людей, которые любят посрать в комментарии и способны только осуждать, прошу вас захлопнуть варежку и не сбивать настрой на помощь таким тупым как я, но желающим получить новую информацию.

    • @user-dj5rn2tz6q
      @user-dj5rn2tz6q 2 ปีที่แล้ว +5

      Если ты только начал изучать Java, то для тебя рановато лезть в интеграционное тестирование, а конкретно знакомиться с фреймворком Mockito. До него нужно освоить синтаксис языка, после Core, разобраться с Annotations и Reflection Api, попробовать Maven и модульное тестирование (JUnit) - минимальный минимум, по моему мнению, чтобы понимать, что же у нас происходит на экране. Mockito в основном используется при тестировании приложений на Spring, а до этого уровня владения языком нужно очень много всего понять и попробовать. Удачи.

  • @ДмитрийБулгаков-ш8х
    @ДмитрийБулгаков-ш8х 2 ปีที่แล้ว

    Автор ролика, спасибо за видео, для меня это отличная информация. Прошу, не прекращай снимать подобные видео.

  • @DeShepotye
    @DeShepotye ปีที่แล้ว

    Благодарю. Ваши видео по mockito очень помогли.

  • @mitruslatovous6
    @mitruslatovous6 2 ปีที่แล้ว +1

    Спасибо! Все понятно объясняешь.

  • @TheVendeetta
    @TheVendeetta 2 ปีที่แล้ว +9

    Примеры не очень удачные, мне кажется, ну и немного запутанно с объяснениями. Суть в том, что мы с помощью Мокито эмитируем работу какого-либо метода (который, например, должен связаться с удаленным сервисом и получить какое-то значение). Так вот, чтобы каждый раз не обращаться реально к этому удаленному сервису (это ведь может быть еще и не доступно), мы просим Мокито сначала создать фейковый объект, а затем сымитировать работу его методов так, как мы этого ожидаем(или же, подставляем любое значение, которое хотим проверить. В тч можем попросить выкинуть исключение). Это позволит нам выполнить тестирование нашей логики (без внешних подключений), использую в том числе метод, который должен обращаться к удаленным сервисам.
    Стоит учесть, что если мы создаем объект с помощью метода mock или аннотации mock, его методы ничего делать не будут. Т.е. если создать фейковый объект ArrayList, например, то в результате вызова метода add с любым параметром, объект в наш лист не добавится.
    Так же объекты можно создавать с помощью метода и аннотации spy. Здесь уже методы будут выполнять свои функции.
    Вообщем, я это понял примерно как-то так)

  • @synarge2027
    @synarge2027 2 ปีที่แล้ว

    Кратко. Быстро. и самое главное ПОНЯТНО
    Спасибо большое!😊

  • @kandidat8134
    @kandidat8134 2 ปีที่แล้ว +6

    подменяем значение и его же получаем, и что мы тут протестировали?)) там должен быть метод внутри тестируемого метода и вот его возвращаемое значение мы подменяем с помощью when, изолируя метод от внешних зависимостей. что-то такое было сказано вначале, но примеры вообще сути не раскрывают.

    • @plyha07
      @plyha07 2 ปีที่แล้ว +1

      Согласен, так никто не тестирует, по сути такие тесты буду проходить всегда, даже если метод давно сломался ..)

  • @Papont
    @Papont 2 ปีที่แล้ว

    не уловил разницы между 2 последними примерами

    • @mitruslatovous6
      @mitruslatovous6 2 ปีที่แล้ว

      В первом примере тестируем метод testInt(), во втором метод getOwner(). Для этого мы программируем стабы для ансверсов (там где вэны).

    • @kandidat8134
      @kandidat8134 2 ปีที่แล้ว +1

      ее и нет

  • @emrahhakan5462
    @emrahhakan5462 10 หลายเดือนก่อน

    все хорошо спасибо кроме одного. Когда рассказываешь постоянно посторонние звуки, проглатывание, дыхание и т.д. очень сильно отвлекает... 😕

  • @user-kuzya2023
    @user-kuzya2023 2 ปีที่แล้ว

    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));

  • @ДмитрийБулгаков-ш8х
    @ДмитрийБулгаков-ш8х 2 ปีที่แล้ว +2

    Автор ролика, спасибо за видео, для меня это отличная информация. Прошу, не прекращай снимать подобные видео.