Перехват аргументов метода в тесте

#unit-testing #flutter #dart #mocking

#модульное тестирование #флаттер #dart #издевательство

Вопрос:

В моем тесте издевается над InjectedClass, поскольку он обращается к внешним ресурсам (см. Код ниже).
Я пытаюсь перехватить аргументы, переданные injected.method2 в.
Я использую mockito, но, похоже, не могу найти ничего, что я мог бы использовать. Существуют тесты «Then» mocks и «verify», которые я не могу использовать.

Существует ли какой-либо метод для перехвата входящего аргумента в имитируемом вызове?

 class RealClass() {
    InjectedClass injected;

    RealClass(this.injected);

    void method1(argument) {      
      var newArgument  = change(argument);
      injected.method2(newArgument);
    }
}
  

Комментарии:

1. Что именно вы подразумеваете под «перехватом аргументов»? Не могли бы вы привести конкретный пример того, чего вы хотите достичь? Вы можете выполнить Mock возврат или выбрасывание в ответ на определенные аргументы, но если вы хотите сделать что-то сверх этого, вы, вероятно, захотите Fake вместо этого использовать a .

2. Да, я думаю, что использование Fake — это решение.