class MockView extends Mock implements ContactListViewContract {
@override
void onLoadContactsComplete(List<Contact> items) {
}
@override
void onLoadContactsError() {}
}
void main() {
test('ContactListPresenter test', () {
Injector.configure(Flavor.MOCK);
MockView view = new MockView();
ContactListPresenter presenter = new ContactListPresenter(view);
presenter.loadContacts();
verify(view.onLoadContactsComplete).called(1);
});
}
Run Code Online (Sandbox Code Playgroud)
我想确保presenter.loadContacts()从代码中调用when ,然后view.onLoadContactsComplete也调用verify ,但出现错误:
用于非模拟对象
有没有可能用 Mockito 做到这一点?
更新:
abstract class ContactListViewContract {
void onLoadContactsComplete(List<Contact> items);
void onLoadContactsError();
}
Run Code Online (Sandbox Code Playgroud)
这里的onLoadContactsComplete方法被称为
class ContactListPresenter {
ContactListViewContract _view;
ContactRepository _repository;
ContactListPresenter(this._view){
_repository = new Injector().contactRepository;
}
void loadContacts(){ …Run Code Online (Sandbox Code Playgroud)