我们用 moor 生成我们的数据库实体。我们有一个数据库服务作为所有数据库访问的外观。我们有方法
Future<DatabaseEntry?> getDatabaseEntry(String entryId)
。DatabaseEntry 是从 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 在从 moor 生成 DatabaseEntry 类之前生成了模拟。我们如何更改构建运行器的顺序,或者问题出在其他地方?