【发布时间】:2022-05-06 21:28:00
【问题描述】:
我们使用 moor 生成数据库实体。我们有一个数据库服务作为所有数据库访问的外观。我们有方法
Future<DatabaseEntry?> getDatabaseEntry(String entryId)。 DatabaseEntry 是从 moor 生成的。
在我们的测试中我们有这个
@GenerateMocks([DatabaseService])
void main() {...
在 mockito 的 mock 中我们发现:
@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 类之前生成了模拟。我们如何更改构建运行程序的顺序,或者问题出在其他地方?
【问题讨论】:
标签: flutter dart mockito build-runner