Как проверить, что функция, переданная как аргумент, вызывается в модульных тестах dart
У меня есть следующая функция
Future<T> execute<T>(Future<T> Function(ApiService apiService) getFromRemote,
{Future<void> Function(T data) cacheData, Future<T> Function() getFromCache}) {
}
И я хочу убедиться, что функция cacheData вызывается в следующем тесте
CacheDataFunction mockCacheDataFunction;
setUpAll(() {
mockCacheDataFunction = CacheDataFunction();
});
test('caches value provided in future', () async {
await repositoryRequestExecutor.execute<int>(
(_) => Future.value(testValue),
cacheData: (data) => mockCacheDataFunction<int>(data),
getFromCache: () => Future.value(testValueFromCache),
);
verify(mockCacheDataFunction<int>(testValue));
});
Итак, я сделал такое издевательство
class CacheDataFunction extends Mock{
Future<void> call<T>(T data) => Future.value();
}
Но он выдает Used при ошибке объекта, отличного от mockito. Как я могу этого добиться?