Mockito генерирует недопустимое переопределение для методов, которые имеют в качестве параметра другой сгенерированный класс (сгенерированный из Moor)

#flutter #dart #mockito #build-runner

Вопрос:

Мы генерируем объекты нашей базы данных с помощью moor. У нас есть служба баз данных в качестве фасада для всего доступа к базе данных. Вот и у нас есть метод Future<DatabaseEntry?> getDatabaseEntry(String entryId) . Вход в базу данных создается с помощью moor.

В нашем тесте мы имеем следующее

 @GenerateMocks([DatabaseService])
void main() {...
 

В макете из mockito мы находим это:

 @override
  _i10.Future<dynamic> getDatabaseEntry(String? entryId) =>
 

и Android studio правильно говорит нам, что

 'MockDatabaseService.getDatabaseEntry' ('Future<dynamic> Function(String?)') isn't a valid override of 'DatabaseService.getDatabaseEntry' ('Future<DatabaseEntry?> Function(String)').
 

Мы думаем, что это происходит потому, что Mockito генерирует насмешки до того, как класс DatabaseEntry будет создан из moor. Как мы можем изменить порядок бегунов сборки или проблема в чем-то другом?