【发布时间】:2021-10-22 18:41:27
【问题描述】:
我有一个测试套件,用于检查当 currentUser 具有 uid 时是否调用了 fireService 方法 (addModelToCollection)。在方法上调用 verify 时,它会抛出一个异常,说明调用的 on 方法是 this
FirestoreServiceMock.addModelToCollection('businesses', 'Business' 实例, {id: uid})
test('fireStore service should be called', () async {
// Arange
final authService = getAuthServiceMock();
final fireService = getFirestoreServiceMock();
when(authService.currentUser).thenReturn(UserModel(uid: 'uid'));
when(fireService.addModelToCollection())
.thenAnswer((realInvocation) => Future.value('sdfff'));
final model = RegistraionViewModel();
model.createBusiness({
'title': "text",
'description': "text",
});
verify(fireService.addModelToCollection('businesses', business, id: 'some string'));
});
错误
No matching calls. All calls: FirestoreServiceMock.addModelToCollection('businesses', Instance
of 'Business', {id: uid})
(If you called `verify(...).called(0);`, please instead use `verifyNever(...);`.)
package:test_api fail
package:mockito/src/mock.dart 670:7 _VerifyCall._checkWith
package:mockito/src/mock.dart 986:18 _makeVerify.<fn>
test\viewModel_test\registration_view_model_test.dart 60:15 main.<fn>.<fn>.<fn>
不熟悉 mockito 和测试,我不确定这里发生了什么,任何帮助;)
【问题讨论】: