Сопоставление сигнатуры метода с неизвестным параметром в фиктивном классе

У меня есть этот метод:

Future<Either<Failure, WorkEntity>> updateWorkEntity({int id, String title, TimeType timeType, int times, DateTime executed})

который вызывается так:

repository.updateWorkEntity(id: workEntity.id, executed: DateTime.now())

id я могу контролировать в тесте, но "DateTime.now()" конечно не могу. То, что я пробовал, было в моем тесте:

when(repository.updateWorkEntity(id: expected.id, executed: any)).thenAnswer((_) async => Right(expected));

чтобы мой макет возвращал объект для моего теста, используя «любой» вместо «DateTime.now ()», но я получаю эту ошибку:

Неверный(е) аргумент(ы): Сопоставитель «любой» аргумент используется вне заглушки метода (через when) или проверки (через verify или untilCalled). Это недопустимо и приводит к плохому поведению при следующей заглушке или проверке.

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

Спасибо
Сорен


person Neigaard    schedule 31.12.2019    source источник


Ответы (1)


Используйте executed: anyNamed('executed') вместо executed: any

person Benno Richters    schedule 07.01.2020